HDU5210——Delete

来源:互联网 发布:sql语言查询 编辑:程序博客网 时间:2024/06/15 14:34

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5210

Delete


解题思路:

用一个cnt数组记下每个数在a序列中出现了几次在删数的时候贪心,尽可能删那些出现次数>1的数这样就可以使最后有最多不同的数
#include<iostream>#include<cstdio>using namespace std;int main(){    int n;    int a[110];    while(scanf("%d",&n)!=EOF)    {        int i,j,x,cnt=0;        for(i=0;i<n;i++)        {            scanf("%d",&x);            for(j=0;j<cnt;j++)                if(a[j]==x)                    break;            if(j==cnt)            {                a[cnt]=x;                cnt++;            }        }        int k;        scanf("%d",&k);//k,n-cnt        if(k<n-cnt)            printf("%d\n",cnt);        else            printf("%d\n",n-k);    }    return 0;}


0 0
原创粉丝点击