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[];
}Animal[];
int main()
{
int i,j;
int N;
struct Xiaobaishu temp;
cin>>N;
for(i=;i<N;i++)
{
cin>>Animal[i].weight>>Animal[i].color;
}
for(i=;i<N;i++)
{
for(j=;j<N--i;j++)
{
if(Animal[j].weight<=Animal[j+].weight)
{
temp=Animal[j];
Animal[j]=Animal[j+];
Animal[j+]=temp;
}
}
}
for(i=;i<N;i++)
cout<<Animal[i].color<<endl;
return ;
}