欢乐赛#51 T5
2025-07-09 09:49:13
发布于:北京
14阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int a[1005][1005];
int n,ans;
bool cnt(int x,bool flag){//flag表示行(1)列(0)
int answer=0;
for (int i=1;i<=n;i++){
if (flag){//行
answer+=a[x][i];
}
else{//列
answer+=a[i][x];
}
}
if (answer%2==1) return true;//bingo
return false;
}
int main(){
cin>>n;
for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) cin>>a[i][j];
for (int i=1;i<=n;i++){
ans+=cnt(i,1);//第i行
ans+=cnt(i,0);//第i列
}
//对角线
int c=0;
for (int i=1;i<=n;i++){
c+=a[i][i];
}
if (c%2==1) ans++;
//另一条对角线
c=0;
for (int i=1;i<=n;i++){
c+=a[n-i+1][i];
}
if (c%2==1) ans++;
cout<<ans;
return 0;
}
这里空空如也
有帮助,赞一个