本文最后更新于:14 天前
蒟蒻第一次发题解 望大佬们海涵
看到这题的瞬间,我想到了一个鬼点子。
(翻了翻看到有类似题解,不过稍稍还是有点出入)
倘若把每个人的出生日期看做他的死亡日期。
把出生日期设为公元第一年一月一日的话……
那就计算他从公元 1.1.1 — xxxx.x.xx
一共有多少天就好了,然后排序输出
(每个人都是千年老妖,有点恐怖)
从公元到死亡的日子 = 年×365+月×30+日;
排序什么的随便啦(本蒟蒻冒泡)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include<bits/stdc++.h> using namespace std; struct sr{ string name; int n,y,r; }xs[120]; int main(void){ int k,i,j,temp1,temp2; cin>>k; for(i = 0;i<k;i++)cin>>xs[i].name>>xs[i].n>>xs[i].y>>xs[i].r; for(i = 0;i<k;i++){ for(j = 0;j<k;j++){ temp1 = xs[i].n*365+xs[i].y*30+xs[i].r; temp2 = xs[j].n*365+xs[j].y*30+xs[j].r; if(temp1<=temp2)swap(xs[i],xs[j]); } } for(i = 0;i<k;i++)cout<<xs[i].name<<endl; return 0; }
|