179
京東網上商城
九度題目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