博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛咕 P2447 [SDOI2010]外星千足虫
阅读量:5266 次
发布时间:2019-06-14

本文共 1326 字,大约阅读时间需要 4 分钟。

一开始以为是异或高斯消元,实际上是简单线性基。

直接往线性基里插入,直到线性基满了就解出来了。

// luogu-judger-enable-o2#include
#define il inline#define vd voidtypedef long long ll;il int gi(){ int x=0,f=1; char ch=getchar(); while(!isdigit(ch)){ if(ch=='-')f=-1; ch=getchar(); } while(isdigit(ch))x=x*10+ch-'0',ch=getchar(); return x*f;}std::bitset<1001>f[1001],s;char S[1010],y[1010];bool ans[1010];int main(){#ifndef ONLINE_JUDGE freopen("2309.in","r",stdin); freopen("2309.out","w",stdout);#endif int n=gi(),m=gi(),tot=0; for(int yyb=1;yyb<=m;++yyb){ scanf("%s",S+1); for(int i=1;i<=n;++i)s[i]=S[i]=='1'; s[0]=gi(); for(int i=s._Find_next(0);i<=n;i=s._Find_next(i)){ if(!y[i]){ y[i]=1,f[i]=s;++tot; if(tot==n){ for(int i=n;i;--i){ ans[i]=f[i][0]; for(int j=f[i]._Find_next(i);j<=n;j=f[i]._Find_next(j)) ans[i]^=ans[j]; } printf("%d\n",yyb); for(int i=1;i<=n;++i)puts(ans[i]?"?y7M#":"Earth"); return 0; } break; }else s^=f[i]; } } puts("Cannot Determine"); return 0;}

转载于:https://www.cnblogs.com/xzz_233/p/9815868.html

你可能感兴趣的文章
C# 通过 Quartz .NET 实现 schedule job 的处理
查看>>
关于java之socket输入流输出流可否放在不同的线程里进行处理
查看>>
目前为止用过的最好的Json互转工具类ConvertJson
查看>>
[Linux内存]linux内存学习(二)——分段和分页
查看>>
XHTML学习要点
查看>>
JavaScript的学习要点
查看>>
我用到的 Linq 扩展方法
查看>>
18.1 线程简介
查看>>
C# 命令行解析
查看>>
Day13
查看>>
[leedcode 08]String to Integer (atoi)
查看>>
tensorflow saver简介+Demo with linear-model
查看>>
Luogu_4103 [HEOI2014]大工程
查看>>
程序员常用软件,你用了哪些
查看>>
1043: [HAOI2008]下落的圆盘 - BZOJ
查看>>
线程同步之读写锁
查看>>
codeforces 620D Professor GukiZ and Two Arrays
查看>>
pylint
查看>>
Oracle——SQL基础
查看>>
Java设计模式(2)——工厂方法模式
查看>>