【洛谷题解】P1104【生日】

本文最后更新于: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];//结构体,nian年,yue月,ri日。一目了然的变量名,哈哈
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;
}

【洛谷题解】P1104【生日】
https://histone.top/2019/09/2b2e6ad9/
作者
默子
发布于
2019年9月17日 22:26
许可协议