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

来源:互联网 发布:pokemongo 计算器软件 编辑:程序博客网 时间:2024/05/01 11:10

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

照例的题意分析

首先输入一个数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  果然是智商不够的节奏么 总之自己多多长记性吧(趴

0 0