@PaulGuan
        
        2016-10-18T16:05:51.000000Z
        字数 394
        阅读 879
    算法 题解
有n个数 (1 ≤ n ≤ 5000),每个数的值为ai (1 ≤ ai ≤ 5000, 1 ≤ i ≤ n),求要让这n个数1-n每个出现一次,需要改动的数字的数量的最小值。
用一个标记数组记录下哪些数出现过,然后输出1-n里面没有出现过的数的个数,输出即可。
#include <iostream>#include <cstring>#include <algorithm>using namespace std;bool num[5005];int main(void){memset(num,false,sizeof(num));int n,ans=0,t;cin>>n;int i;for(i=1;i<=n;i++){cin>>t;num[t]=true;}for(i=1;i<=n;i++)if(!num[i])ans++;cout<<ans<<endl;return 0;}
