Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
319966 | 黄浙峰老师 | 【C5-9】生日相同 | C++ | 通过 | 100 | 8 MS | 260 KB | 939 | 2025-05-03 13:28:06 |
#include<bits/stdc++.h> using namespace std; struct hsg{ string name; //姓名 int m,d;// 月 日 }a[188]; bool cmp(hsg x,hsg y){ if(x.name.size()!=y.name.size()) return x.name.size()<y.name.size();//名字短的在前面 return x.name<y.name;//按字典序从小到大 } int date[13][35];//行代表月 列代表日 数组存的就是某月某日生日的人数 int main(){ int n,s=0; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].name>>a[i].m>>a[i].d; date[a[i].m][a[i].d]++; } sort(a+1,a+n+1,cmp); for(int i=1;i<=12;i++){ //月 for(int j=1;j<=31;j++){ //日 if(date[i][j]>1){ //i月j日出生的人数超过1个 s=1; cout<<i<<" "<<j<<" "; for(int k=1;k<=n;k++){ if(a[k].m==i&&a[k].d==j){ cout<<a[k].name<<" "; } } cout<<endl; } } } if(s==0) cout<<"None"; return 0; }