1908846_ac_46ms_132k.c

来自「北大大牛代码 1240道题的原代码 超级权威」· C语言 代码 · 共 30 行

C
30
字号
# include <stdio.h>

int main()
{
  int a[10002], mark[10002];
  int i, t, n, no;

  scanf("%d",&t);
  while(t--)
  {
    scanf("%d",&n);
    for(i = 1; i <= n; i++)
      {
        scanf("%d",&a[i]);
	mark[a[i]] = i;
      }
      no = 0;
    for(i = 1; i <= n; i++)
      if(a[i]!=i)
       {
        no++;
        a[mark[i]] = a[i];
        mark[a[i]] = mark[i];
        mark[i] = i;
        a[i] = i;
       }
       printf("%d\n",no);
  }
  return 1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?