A problem of sorting
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 240 Accepted Submission(s): 115
Problem Description
There are many people's name and birth in a list.Your task is to print the name from young to old.(There is no pair of two has the same age.)
Input
First line contains a single integer T≤100 which
denotes the number of test cases.
For each test case, there is an positive integer n(1≤n≤100) which denotes the number of people,and next n lines,each line has a name and a birth's year(1900-2015) separated by one space.
The length of name is positive and not larger than 100.Notice name only contain letter(s),digit(s) and space(s).
For each test case, there is an positive integer n(1≤n≤100) which denotes the number of people,and next n lines,each line has a name and a birth's year(1900-2015) separated by one space.
The length of name is positive and not larger than 100.Notice name only contain letter(s),digit(s) and space(s).
Output
For each case, output n lines.
Sample Input
2 1 FancyCoder 1996 2 FancyCoder 1996 xyz111 1997
Sample Output
FancyCoder xyz111 FancyCoder
简单的模拟,注意名字中含有空格,gets()函数就搞定,还有pow()函数原型也要注意一下。
AC代码:
#include "iostream"
#include "cstdio"
#include "cstring"
#include "algorithm"
#include "cmath"
using namespace std;
const int MAXN = 105;
struct node
{
/* data */
char name[200];
int age;
}a[MAXN];
bool cmp(node a, node b)
{
return a.age > b.age;
}
int main(int argc, char const *argv[])
{
int t;
scanf("%d", &t);
for(int cas = 0; cas < t; ++cas) {
memset(a, 0, sizeof(a));
int n;
cin >> n;
getchar();
for(int i = 0; i < n; ++i) {
gets(a[i].name);
int len = strlen(a[i].name), num = 0;
for(int j = len - 1; j >= len - 4; --j)
a[i].age += ((int)(pow(10.0, num++))) * (a[i].name[j] - '0');
}
sort(a, a + n, cmp);
for(int i = 0; i < n; ++i) {
int len = strlen(a[i].name);
a[i].name[len - 5] = '\0';
printf("%s\n", a[i].name);
}
}
return 0;
}

本文讨论了一个关于排序的问题,包括时间限制、内存限制等参数。文章详细解释了如何通过输入和输出来解决这个问题,涉及年龄排序和名字排序的实现过程。通过简单的模拟,解决了排序问题,并提供了AC代码作为示例。

被折叠的 条评论
为什么被折叠?



