179
小米 note
九度題目1110:小白鼠排隊
題目1110:小白鼠排隊時間限製:1 秒內存限製:32 兆特殊判題:否提交:1348解決:820
題目描述:
N隻小白鼠(1 <= N <= 100),每隻鼠頭上戴著一頂有顏色的帽子。現在稱出每隻白鼠的重量,要求按照白鼠重量從大到小的順序輸出它們頭上帽子的顏色。帽子的顏色用“red”,“blue”等字符串來表示。不同的小白鼠可以戴相同顏色的帽子。白鼠的重量用整數表示。
輸入:
多案例輸入,每個案例的輸入第一行為一個整數N,表示小白鼠的數目。
下麵有N行,每行是一隻白鼠的信息。第一個為不大於100的正整數,表示白鼠的重量,;第二個為字符串,表示白鼠的帽子顏色,字符串長度不超過10個字符。
注意:白鼠的重量各不相同。
輸出:
每個案例按照白鼠的重量從大到小的順序輸出白鼠的帽子顏色。
樣例輸入:
3
30 red
50 blue
40 green
樣例輸出:
blue
green
red
來源:
2007年北京大學計算機研究生機試真題
//做了一下午樹的題,結果一直WA,隻能水水換換心情。
//排序水題
AC代碼:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct node
{
int weight;
char value[20];
}per[200];
int cmp(node a,node b)
{
if(a.weight!=b.weight) return a.weight>b.weight;
}
int main()
{
int i,j,n,m;
while(scanf("%d",&n)!=EOF)
{
memset(per,0,sizeof(per));
for(i=0;i<n;i++)
scanf("%d %s",&per[i].weight,per[i].value);
sort(per,per+n,cmp);
for(i=0;i<n;i++)
printf("%s\n",per[i].value);
}
return 0;
}
最後更新:2017-04-03 05:38:58