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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

结构体+字符串比较大小(HDU1234开门人和关门人 )

發布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 结构体+字符串比较大小(HDU1234开门人和关门人 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1234

Problem Description
每天第一個到機房的人要把門打開,最后一個離開的人要把門關好。現有一堆雜亂的機房簽?
到、簽離記錄,請根據記錄找出當天開門和關門的人。?
Input
測試輸入的第一行給出記錄的總天數N ( > 0 )。下面列出了N天的記錄。?
每天的記錄在第一行給出記錄的條目數M ( > 0 ),下面是M行,每行的格式為?
證件號碼 簽到時間 簽離時間?
其中時間按“小時:分鐘:秒鐘”(各占2位)給出,證件號碼是長度不超過15的字符串。
Output
對每一天的記錄輸出1行,即當天開門和關門人的證件號碼,中間用1空格分隔。?
注意:在裁判的標準測試輸入中,所有記錄保證完整,每個人的簽到時間在簽離時間之前,?
且沒有多人同時簽到或者簽離的情況。?
Sample Input
3
1
ME3021112225321 00:00:00 23:59:59
2
EE301218 08:05:35 20:56:35
MA301134 12:35:45 21:40:42
3
CS301111 15:30:28 17:00:10

SC3021234 08:00:00 11:25:25

CS301133 21:45:00 21:58:40

Sample Output
ME3021112225321 ME3021112225321
EE301218 MA301134
SC3021234 CS301133


分析:關鍵在于如何對簽到時間和簽退時間進行排序,一種方法是將時間轉化為秒在進行排序,另一種方法是將時間定義為字符類型,然后進行字典序排序。簡單的說,字典序排序就是將兩個字符數組中的元素從左到右挨個進行ASCII碼的大小比較。在此介紹第二種。

代碼:

  • #include <iostream>
  • #include <algorithm>
  • #include <cstring>
  • using namespace std;
  • struct People
  • {
  • char a[50];
  • string start;
  • string end;
  • // char start[50];
  • // char end[50];
  • }N[1001];
  • bool cmp(People a,People b)
  • {
  • return a.start<b.start;//字典序排序 ,逐個比較
  • //return strcmp(a.start,b.start)<0;//左==右,返回值==0;>,>0;<,<0。如果定義的為char類型數組,就要這樣排序。
  • }
  • bool cmq(People a,People b)
  • {
  • return a.end>b.end;
  • }
  • int main()
  • {
  • int i,n,k,j,t;
  • cin>>n;
  • while(n--)
  • {
  • cin>>t;
  • for(i=0;i<t;i++)
  • {
  • cin>>N[i].a;
  • cin>>N[i].start;
  • cin>>N[i].end;
  • }
  • sort(N,N+t,cmp);
  • // for(i=0;i<t;i++)
  • // cout<<N[i].a<<" "<<N[i].start<<" "<<N[i].end<<endl;;
  • cout<<N[0].a<<" ";
  • sort(N,N+t,cmq);
  • cout<<N[0].a<<endl;
  • }
  • return 0;
  • }

  • 總結

    以上是生活随笔為你收集整理的结构体+字符串比较大小(HDU1234开门人和关门人 )的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。