@sensitive-cs
        
        2016-10-19T09:03:40.000000Z
        字数 389
        阅读 948
    如果一个数字的排列有n个,每个数字只出现过一次,那么这就叫一个permutation,输出0。如果不满足permutation,那么就找出得到一个permutation需要修改的最少次数。
用一个二重循环,统计每个数字出现的次数。则未出现数字的个数就是需要修改的次数。
#include <stdio.h>int a[5009];int b[5009];int main(){int n,i,j,sum = 0;scanf("%d",&n);for (i = 1;i <= n;i++)scanf("%d",&a[i]);for (i = 1;i <= n;i++){for (j = 1;j <= n;j++){if (a[j] == i)b[i]++;}}for (i = 1;i <= n;i++){if (b[i] == 0)sum++;}printf("%d\n",sum);return 0;}
