关于这个题,QOJ.ac#6376. LaLa and Lamp,为什么下面这个解法是正确的?
(无意中翻到的别人的代码)
#include <bits/stdc++.h>
using namespace std;
const int maxn=2005;
int s[maxn][maxn],n;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
scanf("%1d",&s[i][j]);
for(int i=2;i<=n-1;i++)
for(int j=2;j<=i-1;j++)
if(s[i-1][j]^s[i-1][j-1]^s[i][j-1]^s[i][j+1]^s[i+1][j]^s[i+1][j+1])return puts("No"),0;
puts("Yes");
}