2943:小白鼠排队-poj

时间:2023-03-09 13:15:47
2943:小白鼠排队-poj

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 ;
}