7-2 你今天刷快手了嗎 (15分)
快手是比較火的一款短視頻app軟體,里面每天都會更新一些有趣的視頻,因此它的出現成為了我們打發時間的一種方式,但是有些同學進去看到有趣的視頻就會停不下來,導致沉迷于此。當你進入和退出快手app的時候它的后臺都有一個記錄資料,即進入快手的時間和退出的時間。你的班主任想知道你們班每位同學每天刷快手的情況,于是就向快手平臺要了你們班的后臺記錄資料,但是這些資料都是零散的,你的班主任讓你幫他將每一個同學刷視頻的時間按從小到大排序。
輸入格式:
在第一行給兩個整數n和m(1≤n≤1000,0≤m≤10^4),n代表你們班上的人數,m代表資料的條數,接下來m行每行給一組資料,格式為:學號 進入時間 退出時間,你們班的學號為從0~n-1編號并且為三位數。題目保證給出的所有時間均是同一天之內的。
輸出格式:
將每個同學一天中刷快手的總時間從小到大排序輸出(若出現并列情況,則按學號從小到大輸出),輸出格式為:學號 時間,最后輸出最長的時間。
注:輸出和輸出的學號為三位數(不足三位補前導0),輸出的時間格式為:00:00:00
#include<stdio.h>
int main()
{
int n,m,i,j;
scanf("%d %d",&n,&m);
int aa[10001][8],b[10001][6],re[10001][4];
for(i=1;i<=m;i++)
{
scanf("%d %d:%d:%d %d:%d:%d",&aa[i][0],&aa[i][1],&aa[i][2],&aa[i][3],&aa[i][4],&aa[i][5],&aa[i][6]);
b[i][3]=aa[i][0];
b[i][4]=0;
b[i][0]=0;
b[i][1]=0;
b[i][2]=0;
b[i][2]=aa[i][6]-aa[i][3];
if(b[i][2]<0)
{
b[i][1]--;
b[i][2]=b[i][2]+60;
}
b[i][1]=aa[i][5]-aa[i][2]+b[i][1];
if(b[i][1]<0)
{
b[i][0]--;
b[i][1]=b[i][1]+60;
}
b[i][0]=aa[i][4]-aa[i][1]+b[i][0];
}
for(i=1;i<=m;i++)
{
for(j=i+1;j<=m;j++)
{
if((b[i][3]==b[j][3])&&b[j][4]==0)
{
b[i][2]=b[i][2]+b[j][2];
if(b[i][2]>=60)
{
b[i][2]=b[i][2]-60;
b[i][1]++;
}
b[i][1]=b[i][1]+b[j][1];
if(b[i][1]>=60)
{
b[i][1]=b[i][1]-60;
b[i][0]++;
}
b[i][0]=b[i][0]+b[j][0];
b[j][4]=1;
}
}
if(b[i][4]!=1)
{
b[i][5]=b[i][0]*60*60+b[i][1]*60+b[i][2];
}
}
int temp;
for(i=1;i<=m;i++)
{
for(j=i;j<=m;j++)
{
if(b[i][4]!=1&&b[j][4]!=1)
{
if((b[i][5]<b[j][5])||((b[i][5]==b[j][5])&&(b[i][3]>b[j][3])))
{
temp=b[i][0];
b[i][0]=b[j][0];
b[j][0]=temp;
temp=b[i][1];
b[i][1]=b[j][1];
b[j][1]=temp;
temp=b[i][2];
b[i][2]=b[j][2];
b[j][2]=temp;
temp=b[i][3];
b[i][3]=b[j][3];
b[j][3]=temp;
temp=b[i][5];
b[i][5]=b[j][5];
b[j][5]=temp;
}
}
}
}
for(i=1;i<=m;i++)
{
if(b[i][4]!=1)
printf("%03d %02d:%02d:%02d\n",b[i][3],b[i][0],b[i][1],b[i][2]);
}
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/234530.html
標籤:C語言
下一篇:陣列中字串長度例外
