#A. 小学组初赛h2
小学组初赛h2
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
程序阅读
1.第九行“i<=1000000”改为“i<1000000”不影响程序的正确性。{{ select(1) }}
- 正确
- 错误
2.第十行“j<=1000000”改为“j<1000000”不影响程序的正确性。{{ select(2) }}
- 正确
- 错误
3.第20行去掉break不影响程序的正确性。{{ select(3) }}
- 正确
- 错误
4.若输入n=5,输出为()。{{ select(4) }}
- 3
- 6
- 11
- 13
5.以下哪个选项不可能是程序运行的结果()。{{ select(5) }}
- 2
- 3
- 4
- 5
代码填空
Description
给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。
你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。
"改变矩阵元素"的操作定义为0变成1或者1变成0。
Input Format
输入n + 1行,第1行为矩阵的大小n(0 < n < 100),以下n行为矩阵的每一行的元素,元素之间以一个空格分开。
Output Format
如果矩阵符合条件,则输出OK;
如果矩阵仅改变一个矩阵元素就能符合条件,则输出需要改变的元素所在的行号和列号,以一个空格分开。
如果不符合以上两条,输出Corrupt。
样例输入1
4
1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1
样例输入2
4
1 0 1 0
0 0 1 0
1 1 1 1
0 1 0 1
样例输入3
4
1 0 1 0
0 1 1 0
1 1 1 1
0 1 0 1
样例输出1
OK
样例输出2
2 3
样例输出3
Corrupt
#include <bits/stdc++.h>
using namespace std;
int n,a[100][100],x[105],y[105],sum1,sum2,k,l;
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++){
for(int j=1;j<=n;j++)sum1+=a[i][j];
if((1)______){
x[k]=i;k++;
}
for(int w=1;w<=n;w++)(2)______;
if(sum2%2!=0){
(3)______
}
sum1=0;sum2=0;
}
if((4)______){
cout<<"OK"<<endl;
}else if((5)______){
cout<<x[0]<<" "<<y[0]<<endl;
}else {
cout<<"Corrupt"<<endl;
}
return 0;
}
- {{ select(6) }}
- sum1%2==1
- sum1%2==0
- sum==1
- sum==0
- {{ select(7) }}
- sum2+=a[i][w]
- sum2+=a[j][w]
- sum2+=a[w][i]
- sum2+=a[w][j]
- {{ select(8) }}
- y[l]=i;l++;
- y[l]=i;l--;
- y[l]=sum2;l++;
- y[l]=sum2;l--;
- {{ select(9) }}
- {{ select(10) }}