#447. CSP-J模拟套题2-19

CSP-J模拟套题2-19

  1. (完善程序)

班上共有 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