hdu2115: I Love This Game
生活随笔
收集整理的這篇文章主要介紹了
hdu2115: I Love This Game
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
hdu2115: http://acm.hdu.edu.cn/showproblem.php?pid=2115
題意:輸入n組名字和對應的時間(分:秒),要求按時間長度由短到長排序,并輸出對應排名,若時間一樣,則按名字字典序排序,名次可以并列。 code: #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; struct name {char v[200],w[200];int x;int ans; }; bool cmp(name a,name b) //第一關鍵字為時間,第二關鍵字為字符串,若時間相同,字典序排序 {if(a.x==b.x)return strcmp(a.w,b.w)<0;return a.x<b.x; } int main() {int n,cas=0;while(1){name kk[20];scanf("%d",&n);cas++;if(n==0)break;for(int i=0;i<n;i++){scanf("%s%s",kk[i].v,kk[i].w);}for(int i=0;i<n;i++) //計算時間 {kk[i].x=((kk[i].w[0]-'0')*10+(kk[i].w[1]-'0'))*60+(kk[i].w[3]-'0')*10+(kk[i].w[4]-'0');}sort(kk,kk+n,cmp);int ans1=1;kk[0].ans=1;for(int i=1;i<n;i++){if(kk[i].x==kk[i-1].x)kk[i].ans=ans1++;elsekk[i].ans=++ans1;}if(cas!=1)printf("\n");printf("Case #%d\n",cas);for(int i=0;i<n;i++){printf("%s %d\n",kk[i].v,kk[i].ans);}} } /*input: 10 Iverson 17:19 Bryant 07:03 Nash 09:33 Wade 07:03 Davies 11:13 Carter 14:28 Jordan 29:34 James 20:48 Parker 24:49 Kidd 26:46 0 output: Case #1 Bryant 1 Wade 1 Nash 3 Davies 4 Carter 5 Iverson 6 James 7 Parker 8 Kidd 9 Jordan 10 */
題意:輸入n組名字和對應的時間(分:秒),要求按時間長度由短到長排序,并輸出對應排名,若時間一樣,則按名字字典序排序,名次可以并列。 code: #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; struct name {char v[200],w[200];int x;int ans; }; bool cmp(name a,name b) //第一關鍵字為時間,第二關鍵字為字符串,若時間相同,字典序排序 {if(a.x==b.x)return strcmp(a.w,b.w)<0;return a.x<b.x; } int main() {int n,cas=0;while(1){name kk[20];scanf("%d",&n);cas++;if(n==0)break;for(int i=0;i<n;i++){scanf("%s%s",kk[i].v,kk[i].w);}for(int i=0;i<n;i++) //計算時間 {kk[i].x=((kk[i].w[0]-'0')*10+(kk[i].w[1]-'0'))*60+(kk[i].w[3]-'0')*10+(kk[i].w[4]-'0');}sort(kk,kk+n,cmp);int ans1=1;kk[0].ans=1;for(int i=1;i<n;i++){if(kk[i].x==kk[i-1].x)kk[i].ans=ans1++;elsekk[i].ans=++ans1;}if(cas!=1)printf("\n");printf("Case #%d\n",cas);for(int i=0;i<n;i++){printf("%s %d\n",kk[i].v,kk[i].ans);}} } /*input: 10 Iverson 17:19 Bryant 07:03 Nash 09:33 Wade 07:03 Davies 11:13 Carter 14:28 Jordan 29:34 James 20:48 Parker 24:49 Kidd 26:46 0 output: Case #1 Bryant 1 Wade 1 Nash 3 Davies 4 Carter 5 Iverson 6 James 7 Parker 8 Kidd 9 Jordan 10 */
轉載于:https://www.cnblogs.com/acmjun/archive/2012/07/25/2608990.html
總結
以上是生活随笔為你收集整理的hdu2115: I Love This Game的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为何电影《唐人街探案3》,其口碑不佳
- 下一篇: 泥鳅多少钱啊?