#320. CSP2019PJ-17
CSP2019PJ-17
- (阅读程序)
#include<cstdio>
using namespace std;
int n, m;
int a[100], b[100];
int main()
{
scanf("%d%d",&n, &m);
for(int i = 1; i <= n; ++i)
a[i] = b[i] = 0;
for(int i = 1; i <= m; ++i)
{
int x, y;
scanf("%d%d",&x, &y);
if(a[x] < y && b[y] < x) //第13行
{
if(a[x] > 0)
b[a[x]] = 0; //第15行
if(b[y] > 0)
a[b[y]] = 0;
a[x] = y;
b[y] = x;
}
}
int ans = 0;
for(int i = 1; i <= n; ++i)
{
if(a[i] == 0)
++ans;
if(b[i] == 0)
++ans; //第27行
}
printf("%d\n", ans);
return 0;
}
假设输入的 n 和 m 都是正整数,x 和 y 都是在 [1,n] 的范围内的整数,完成下面的判断题和单选题:
(判断题)
当 m > 0 时,输出的值一定小于 2n( )
{{ select(1) }}
- 对
- 错
执行完第 27 行的 “++ans” 时,ans 一定是偶数( )
{{ select(2) }}
- 对
- 错
a[i] 和 b[i] 不可能同时大于 0( )
{{ select(3) }}
- 对
- 错
若程序执行到第 13 行时,x 总是小于 y,那么第 15 行不会被执行。( )
{{ select(4) }}
- 对
- 错
(选择题)
若 m 个 x 两两不同,且 m 个 y 两两不同,则输出的值为( )
{{ select(5) }}
- 2n - 2m
- 2n + 2
- 2n - 2
- 2n
若 m 个 x 两两不同,且 m 个 y 都相等,则输出的值为( )
{{ select(6) }}
- 2n - 2
- 2n
- 2m
- 2n - 2m
相关
在下列比赛中: