高斯消元求解异或方程组,可以多学一下 $bitset$ 在位运算中的各种神奇操作.

#include <cstdio>
#include <bitset>
#define N 2004
#define setIO(s) freopen(s".in","r",stdin) , freopen(s".out","w",stdout)
using namespace std;
int n,m,ans;
char str[N];
bitset<N>v[N];
int main()
{
int i,j,k;
// setIO("input");
scanf("%d%d",&n,&m);
for(i=1;i<=m;++i)
{
int tmp;
scanf("%s%d",str+1,&tmp);
for(j=1;j<=n;++j) v[i][j]=(str[j]=='0'?0:1);
v[i][n+1]=tmp;
}
for(i=1;i<=n;++i)
{
for(j=i;j<=m;++j)
{
if(v[j][i])
{
ans=max(ans,j),swap(v[j],v[i]);
break;
}
}
if(!v[i][i])
{
printf("Cannot Determine\n");
return 0;
}
for(j=i+1;j<=m;++j) if(v[j][i]) v[j]^=v[i];
}
printf("%d\n",ans);
for(i=1;i<=n;++i)
{
for(j=i+1;j<=n;++j) if(v[i][j]) v[i]^=v[j];
if(v[i][n+1]) printf("?y7M#\n");
else printf("Earth\n");
}
return 0;
}

  

最新文章

  1. 多线程的通信和同步(Java并发编程的艺术--笔记)
  2. 该不该在C#中使用var关键词
  3. hdu3635 Dragon Balls(带权并查集)
  4. 关闭Windows Update更新驱动程序
  5. Java读取word文档,转换为网页
  6. cocos2d-x的环境的搭建
  7. [转载]Spring Bean Definition Inheritance
  8. VC 最爱问的问题:你这个创业项目,如果腾讯跟进了,而且几乎是产品上完全复制,你会怎么办?
  9. CodeForces 595B
  10. Android 主线程和线程之间相互发送消息
  11. [HNOI2011]数矩形
  12. Maven全局配置
  13. Mysql-12条优化技巧
  14. [UWP]为附加属性和依赖属性自定义代码段(兼容UWP和WPF)
  15. centos7.5图形界面与命令行界面转换
  16. SpringMVC源码阅读入门
  17. Git:配置
  18. 跟我学SharePoint 2013视频培训课程——使用垃圾箱(5)
  19. 【Unity】10.1 类人动画的导入和设置
  20. Swift中Notification.Name这么难用怎么办

热门文章

  1. Linux就该这么学——初识管道符
  2. Jmeter之TCP取样器(模拟数据上报压测)
  3. 搭建自己的框架WedeNet(五)
  4. js多语言切换demo
  5. Java高并发程序设计学习笔记(六):JDK并发包(线程池的基本使用、ForkJoin)
  6. Linux 永久挂载镜像文件和制作yum源
  7. Eclipse配置Maven的本地仓库和阿里云镜像 加速Maven更新
  8. 写Java也得了解CPU–CPU缓存
  9. stackstorm docker中配置ssh免密码登录方式
  10. 第一章&#183;MySQL介绍及安装