Cut the sticks



AC代码:(一个数组存数字种类另一个存这个种类的数字的个数)

#include <iostream>
#include <bits/stdc++.h>
using namespace std;


int main()
{
    int i, n, a[1000+10], b[1000+10], x, h;
    while(scanf("%d",&n)!=EOF)
    {
        int q = n;
        memset(a, 0, sizeof(a));
        memset(b, 0, sizeof(b));
        h = 0;
        for(i = 0; i<n; i++)
        {
            cin>>x;
            if(b[x]==0)
                a[h++] = x;
            b[x]++;
        }
        sort(a, a+h);
        printf("%d\n",n);
        for(i = 0; i<h-1; i++)
        {
            printf("%d\n",q-b[a[i]]);
            q = q-b[a[i]];
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41524782/article/details/80850082
cut