且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

hdu 2115 I Love This Game

更新时间:2022-08-13 08:53:43

http://acm.hdu.edu.cn/showproblem.php?pid=2115
注意两点:
1:输出格式;
2:结构体排序

#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
struct sa
{
    char name[55];
    int a;
    int b;
    int num;
    char ch;
}data[15];
int cmp(sa x,sa y)
{
    if(x.a != y.a)
        return x.a < y.a;
    else if(x.b != y.b)
        return x.b < y.b;
    else
        return strcmp(x.name,y.name)<0;
}
int main()
{
    int m,cas=1;
    bool flag=0;
    while(cin>>m,m)
    {
        if(flag)
            cout<<endl;
        flag=1;
        for(int i=0; i<m; i++)
         cin>>data[i].name>>data[i].a>>data[i].ch>>data[i].b;
        sort(data,data+m,cmp);
        cout<<"Case #"<<cas++<<endl;
        int sum=1;
        data[0].num=1;
        for(int i=1; i<m; i++)
        {
            if(data[i].a == data[i-1].a && data[i].b == data[i-1].b)
               data[i].num=sum;
            else
            {
                data[i].num=sum;
                sum=i+1;
                data[i].num=i+1;
            }
        }
        for(int i=0; i<m; i++)
            cout<<data[i].name<<" "<<data[i].num<<endl;
    }
    return 0;
}