Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <algorithm>#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <cmath>using namespace std;const int n=5,m=6,f=30;char s[10][10];int a[35][35];int main(){for(int i=1;i<=n;++i)scanf("%s",s[i]+1);for(int i=1;i<=n;++i)for(int j=1;j<=m;++j){int t=(i-1)*m+j;if(i>1)a[t][(i-2)*m+j]=1;if(j>1)a[t][(i-1)*m+j-1]=1;if(i<n)a[t][i*m+j]=1;if(j<m)a[t][(i-1)*m+j+1]=1;a[t][(i-1)*m+j]=1;if(s[i][j]=='0')a[t][f+1]=1;}for(int i=1;i<=f;++i){int r=i;for(int j=i;j<=f;++j)if(a[j][i]){r=j; break; }if(r!=i)for(int j=i;j<=f+1;++j)swap(a[r][j],a[i][j]);if(!a[i][i])continue;for(int j=i+1;j<=f;++j)if(a[j][i]) for(int k=i;k<=f+1;++k)a[j][k]^=a[i][k];}for(int i=f;i>=1;--i)