hd 2115 I Love This Game——教练我要学语文

戳我跳跃世界线 (´Д`)

照例的题意分析

首先输入一个数n,然后给你n行数据 每行数据都由一个名字和一个时间组成,要求按照时间的从少到多进行排序输出,如果有用时相同的情况存在就按照名字的字典序进行排序输出


然后是做法

简单的二级排序 这个题也没啥坑 交上去就是pe (´Д`) 所以又是错在格式了  (人生真的好累)个人觉得这道题可能是想要考怎么处理耗时相同的人的名次(大概,出题人不要打我)格式的重点是说要求“Output a blank line between two cases.” 正确的格式是“除了第一次的数据输入以外,之后每次输入n之后要有一个空行,然后才是n组数据”这样 (´Д`) 好吧 我承认我语文不好(趴

接下来是ac的代码

#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;
typedef struct {
char name[100];
int hour;
int minute;
}Node;
bool cmp(Node a,Node b)
{
    if (a.hour==b.hour && a.minute==b.minute)
        return a.name>b.name;

    else
        if (a.hour==b.hour && a.minute!=b.minute)
        return a.minute<b.minute;
    else
        return a.hour<b.hour;
}
Node node[12];
int main(){
int n;
scanf("%d",&n);
int num=1;
while(n!=0)
{
    if (num!=1)
        printf("\n");
    int i;
    int id=1;
    for (i=0;i<n;i++)
        scanf("%s %d:%d",node[i].name,&node[i].hour,&node[i].minute);
    sort(node,node+n,cmp);
    printf("Case #%d\n",num++);
  //  int no=1;
    printf("%s %d\n",node[0].name,id);
    for (i=1;i<n;i++)
    {
        printf("%s ",node[i].name);
        if (node[i].hour!=node[i-1].hour || node[i].minute!=node[i-1].minute)

            id=i+1;

            printf("%d\n",id);

    }
//    printf("\n");
scanf("%d",&n);
}


return 0;}

接着是自我反省时间···

明明自己又不是第一次坑在格式上了·· 但是为啥总是会掉进同一个坑呢 QAQ  果然是智商不够的节奏么 总之自己多多长记性吧(趴

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值