2943:小白鼠排队
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色。帽子的颜色用“red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。
- 输入
- 输入第一行为一个整数N,表示小白鼠的数目。
下面有N行,每行是一只白鼠的信息。第一个为不大于1000的正整数,表示白鼠的重量,;第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。
注意:白鼠的重量各不相同。 - 输出
- 按照白鼠的重量从大到小的顺序输出白鼠的帽子颜色。
- 样例输入
-
3 30 red 50 blue 40 green
- 样例输出
-
blue green red
结构体,排序
代码:#include<iostream> #include<stdio.h> #include<string.h> #include <stdlib.h> #include<vector> #include<queue> using namespace std; struct Xiaobaishu { int weight; char color[101]; }Animal[100]; int main() { int i,j; int N; struct Xiaobaishu temp; cin>>N; for(i=0;i<N;i++) { cin>>Animal[i].weight>>Animal[i].color; } for(i=0;i<N;i++) { for(j=0;j<N-1-i;j++) { if(Animal[j].weight<=Animal[j+1].weight) { temp=Animal[j]; Animal[j]=Animal[j+1]; Animal[j+1]=temp; } } } for(i=0;i<N;i++) cout<<Animal[i].color<<endl; return 0; }