CSP-J模拟套题2-19
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
- (完善程序)
班上共有 N 名学生,每个人分配得到了一把有编号的椅子,他们不希望自己编号与椅子编号不同,作为班主任,你可以进行操作:选择两个不同的学生,交换他们的椅子,询问你至少要多少次才能使得所有学生的编号与他们椅子编号不同。本题多组数据。
#include<bits/stdc++.h>
using namespace std;
const int maxn=330;
int T,cnt;
int n,a[maxn];
void solve()
{
cin>>n;
for(int i=1;i<=n;i++) _________________________
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
if(_________________________)
{
swap(a[i],a[j]);
cnt++;
}
}
for(int i=1;i<=n;i++)
{
if(_________________________) cnt++;
}
cout<<_________________________<<'\n';
}
int main()
{
ios::sync_with_stdio(false);
cin>>T;
while(_________________________)
{
solve();
}
return 0;
}
① 处应填( )。
{{ select(1) }}
- a[i]=0
- a[i]=a[i-1]+1
- a[i]=i
- cin>>a[i]
② 处应填( )。
{{ select(2) }}
- a[i]==i&&a[j]==j
- a[i]==i||a[j]==j
- a[i]==j&&a[j]==i
- a[i]==j||a[j]==i
③ 处应填( )。
{{ select(3) }}
- a[i]=0
- a[i]=i
- a[i]!=i
- a[i]==i
④ 处应填( )。
{{ select(4) }}
- a[1]
- a[n]
- ans
- cnt
⑤ 处应填( )。
{{ select(5) }}
- T!=0
- !(T==0)
- T--
- T-1