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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

水王争霸赛

發(fā)布時(shí)間:2023/12/16 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 水王争霸赛 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目描述:
眾所周知,IOIForum有很多水王,他們的發(fā)貼數(shù)是如此之多,以至于必須要用高精度數(shù)才能保存。 為了迎接國(guó)慶,IOIForum決定舉行一次水王爭(zhēng)霸賽,比賽的規(guī)則是將這些水王截止到2003年9月30日23時(shí)59分59秒這一刻所發(fā)的總貼數(shù)從大到小進(jìn)行排序。每個(gè)水王當(dāng)然都想取得盡量靠前的名次,所以他們竭盡全力,不擇手段地進(jìn)行灌水。 終于,激動(dòng)人心的一刻到來(lái)了,2003年10月1日0時(shí)0分0秒,你作為裁判得到了每個(gè)水王的發(fā)貼數(shù),現(xiàn)在,你的任務(wù)是公正地把這些水王按照發(fā)貼數(shù)從大到小進(jìn)行排序。
輸入:
輸入的第一行是一個(gè)1到1000的整數(shù)N,表示總共有N位水王參加了爭(zhēng)霸賽。 以下依次給出每位水王的描述,一位水王的描述占據(jù)兩行,第一行為一個(gè)僅由字母和數(shù)字組成的長(zhǎng)度不超過(guò)20的字符串,代表這個(gè)水王的ID,第二行一個(gè)高精度的整數(shù)(非負(fù)數(shù)),代表這個(gè)水王的發(fā)貼數(shù)。注意,這個(gè)整數(shù)的首位沒(méi)有不必要的0。 考慮到IOIForum的數(shù)據(jù)庫(kù)是有限的,所有水王發(fā)貼數(shù)的總長(zhǎng)度(注意,是總長(zhǎng)度而不是總和)不會(huì)超過(guò)10000。 除了子母、數(shù)字和必要的換行,輸入中不會(huì)出現(xiàn)空格等字符。
輸出:
依次輸出按照發(fā)貼數(shù)從大到小排好序的各位水王的ID,每個(gè)ID占據(jù)單獨(dú)的一行。不能有任何多余的字符。若幾個(gè)ID的發(fā)貼數(shù)相同,則按照ID的字典順序先后排列。
樣例輸入:
6
lowai
1534534124561243453
zhouyuan
23453265344
Maolaoda
23442353452342
BuTaoCaiGuai
7568784573464
ArthurKing
97534892734723947
hyyylr
623893451
樣例輸出:
lowai
ArthurKing
Maolaoda
BuTaoCaiGuai
zhouyuan
hyyylr
相關(guān)代碼以及解釋:
首先創(chuàng)建兩個(gè)二維字符型數(shù)組用來(lái)存放名字和財(cái)產(chǎn)。然后求出每個(gè)人對(duì)應(yīng)數(shù)量的長(zhǎng)度(長(zhǎng)的肯定比短的大) 然后以對(duì)應(yīng)數(shù)量排序,完成排序后對(duì)相同的ID進(jìn)行字典順序排序。在這里插入代碼片
#include<stdio.h>
#include<string.h>
int main()
{
?int n,i,j;
?scanf("%d",&n);
?char id[n][25],num[n][10000];
?char t1[n][25],t2[n][10000];
?for(i=0;i<n;i++)
?{
??scanf("%s%s",id[i],num[i]);
?}
?int len[n],t[n];
?for(i=0;i<n;i++)
?{
??len[i]=strlen(num[i]);
?}
?
?for(i=0;i<n;i++)
?{
??for(j=i+1;j<n;j++)
??{
???if(len[j]>len[i])
???{
????strcpy(t1[i],id[i]);
????strcpy(id[i],id[j]);
????strcpy(id[j],t1[i]);
????t[i]=len[i];
????len[i]=len[j];
????len[j]=t[i];
????strcpy(t2[i],num[i]);
????strcpy(num[i],num[j]);
????strcpy(num[j],t2[i]);
???}
??}
?}
?for(i=0;i<n;i++)
?{
??for(j=i+1;j<n;j++)
??{
???if(len[i]==len[j])
???{
????if(strcmp(num[i],num[j])<0)
????{
?????strcpy(t1[i],id[i]);
?????strcpy(id[i],id[j]);
?????strcpy(id[j],t1[i]);
?????t[i]=len[i];
?????len[i]=len[j];
?????len[j]=t[i];
?????strcpy(t2[i],num[i]);
?????strcpy(num[i],num[j]);
?????strcpy(num[j],t2[i]);?
????}
???}
??}
?}
?for(i=0;i<n;i++)
?{
??for(j=i+1;j<n;j++)
??{
???if(strcmp(num[i],num[j])==0)
???{
????if(strcmp(id[i],id[j])>0)
????{
?????strcpy(t1[i],id[i]);
?????strcpy(id[i],id[j]);
?????strcpy(id[j],t1[i]);
????}
???}
??}
?}
?for(i=0;i<n;i++)
?{
??printf("%s\n",id[i]);
?}
?return 0;
}

總結(jié)

以上是生活随笔為你收集整理的水王争霸赛的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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