POJ 2943 小白鼠排队
- 时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
- N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色。帽子的颜色用“red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。
- 输入
- 输入第一行为一个整数N,表示小白鼠的数目。
下面有N行,每行是一只白鼠的信息。第一个为不大于100的正整数,表示白鼠的重量,;第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。
注意:白鼠的重量各不相同。 - 输出
- 按照白鼠的重量从大到小的顺序输出白鼠的帽子颜色。
- 样例输入
-
330 red50 blue40 green
- 样例输出
-
bluegreenred
(1)、源代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i, j, t, n;
int a[101];
string color[101], temp;
cin >> n;
for(i = 0; i < n; i++)
cin >> a[i] >> color[i];
for(i = 0; i < n; i++){
t = a[i];
temp = color[i];
for(j = i; j > 0 && a[j-1] < t; j--){
a[j] = a[j-1];
color[j] = color[j-1];
}
a[j] = t;
color[j] = temp;
}
for(i = 0; i < n; i++)
cout << color[i] << endl;
return 0;
}
(2)、解题思路:略
(3)、可能出错:略