4 5 Candy Sufia Lagrange
代码别人滴,百度好久竟然只有两个代码,简直不能忍受!还有一个代码是错的,一个对了简直无语了,我觉得这个题目不难啊(不要问我为什么不会做,,,反正我可以看懂的题目都是不难的)
自己重复的毛病:思路错了不知道转换思路浪费时间,然后以前不会不会的地方没有仔细琢磨,再次出现继续不会。
这个题思路非常清楚就是不会写,,,首先,相同的生日怎么写,,,宝宝的愚蠢行为就不说了,然后相同生日完了,比较名字我会写但是怎么放在一起,,,连续,又不会,最后输出格式可能不会写,明天仔细琢磨别人代码吧。
#include<stdio.h> #include<math.h> #include<string.h> #include<algorithm> using namespace std; struct ill{ char name[21]; }; struct node{ int num; ill ren[185]; }day[16][35]; bool fuu(ill x,ill y) { if(strlen(x.name)<strlen(y.name)) return 1; if(strlen(x.name)==strlen(y.name)&&strcmp(x.name,y.name)<0) return 1; return 0; } int main() { int n,m,d,i,j,k; bool p=0; char a[21]; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s%d%d",a,&m,&d); strcpy(day[m][d].ren[day[m][d].num].name,a); day[m][d].num++; } for(i=1;i<=12;i++) for(j=1;j<=31;j++) if(day[i][j].num) sort(day[i][j].ren,day[i][j].ren+day[i][j].num,fuu); for(i=1;i<=12;i++) for(j=1;j<=31;j++) if(day[i][j].num>1) { p=1; printf("%d %d",i,j); for(k=0;k<day[i][j].num;k++) printf(" %s",day[i][j].ren[k].name); printf("\n"); } if(!p) printf("None"); }
此代码应该可以看懂,除了头文件不怎么常见,其他应该还好。
