日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU1862 EXCEL排序

發(fā)布時(shí)間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU1862 EXCEL排序 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Input
測試輸入包含若干測試用例。每個(gè)測試用例的第1行包含兩個(gè)整數(shù) N (<=100000) 和 C,其中 N 是紀(jì)錄的條數(shù),C 是指定排序的列號。以下有 N?
行,每行包含一條學(xué)生紀(jì)錄。每條學(xué)生紀(jì)錄由學(xué)號(6位數(shù)字,同組測試中沒有重復(fù)的學(xué)號)、姓名(不超過8位且不包含空格的字符串)、成績(閉區(qū)間[0, 100]內(nèi)的整數(shù))組成,每個(gè)項(xiàng)目間用1個(gè)空格隔開。當(dāng)讀到 N=0 時(shí),全部輸入結(jié)束,相應(yīng)的結(jié)果不要輸出。?
Output
對每個(gè)測試用例,首先輸出1行“Case i:”,其中 i 是測試用例的編號(從1開始)。隨后在 N 行中輸出按要求排序后的結(jié)果,即:當(dāng) C=1 時(shí),按學(xué)號遞增排序;當(dāng) C=2時(shí),按姓名的非遞減字典序排序;當(dāng) C=3?
時(shí),按成績的非遞減排序。當(dāng)若干學(xué)生具有相同姓名或者相同成績時(shí),則按他們的學(xué)號遞增排序。?
Sample Input
3 1
000007 James 85
000010 Amy 90
000001 Zoe 60
4 2
000007 James 85
000010 Amy 90
000001 Zoe 60
000002 James 98
4 3
000007 James 85
000010 Amy 90
000001 Zoe 60
000002 James 90
0 0
Sample Output
Case 1:
000001 Zoe 60
000007 James 85
000010 Amy 90
Case 2:
000010 Amy 90
000002 James 98
000007 James 85
000001 Zoe 60
Case 3:
000001 Zoe 60
000007 James 85
000002 James 90

000010 Amy 90

代碼:

  • #include <iostream>
  • #include <algorithm>
  • #include <stdio.h>
  • #include <string.h>
  • using namespace std;
  • struct Student
  • {
  • string name;
  • int num;
  • int score;
  • }N[100010];
  • bool cmp1(Student a,Student b)
  • {
  • return a.num<b.num;
  • }
  • bool cmp2(Student a,Student b)
  • {
  • if(a.name==b.name) return a.num<b.num;
  • else return a.name<b.name;
  • }
  • bool cmp3(Student a,Student b)
  • {
  • if(a.score==b.score) return a.num<b.num;
  • else return a.score<b.score;
  • }
  • int main()
  • {
  • int n,c,i,j;
  • j=1;
  • while(cin>>n>>c)
  • {
  • if(n==0) break;
  • for(i=0;i<n;i++)
  • cin>>N[i].num>>N[i].name>>N[i].score;
  • if(c==1) sort(N,N+n,cmp1);
  • if(c==2) sort(N,N+n,cmp2);
  • if(c==3) sort(N,N+n,cmp3);
  • cout<<"Case "<<j++<<":"<<endl;
  • for(i=0;i<n;i++)
  • {
  • printf("%06d ",N[i].num);
  • cout<<N[i].name<<" ";
  • //printf("%s ",N[i].name);這樣輸出會提示錯(cuò)誤
  • printf("%d\n",N[i].score);
  • }
  • }
  • return 0;
  • }

  • 總結(jié)

    以上是生活随笔為你收集整理的HDU1862 EXCEL排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。