zoukankan      html  css  js  c++  java
  • hdu 5427 A problem of sorting

    题目连接

    http://acm.hdu.edu.cn/showproblem.php?pid=5427  

     A problem of sorting

    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 leq 100$ which denotes the number of test cases.

    For each test case, there is an positive integer $n (1 leq n leq 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

    字符串简单题。。

    #include<algorithm>
    #include<iostream>
    #include<cstdlib>
    #include<cstring>
    #include<cstdio>
    #include<vector>
    #include<queue>
    #include<set>
    using std::set;
    using std::sort;
    using std::pair;
    using std::swap;
    using std::queue;
    using std::multiset;
    #define pb(e) push_back(e)
    #define sz(c) (int)(c).size()
    #define mp(a, b) make_pair(a, b)
    #define all(c) (c).begin(), (c).end()
    #define iter(c) decltype((c).begin())
    #define cls(arr, val) memset(arr, val, sizeof(arr))
    #define cpresent(c, e) (find(all(c), (e)) != (c).end())
    #define rep(i, n) for(int i = 0; i < (int)n; i++)
    #define tr(c, i) for(iter(c) i = (c).begin(); i != (c).end(); ++i)
    const int N = 110;
    const int INF = 0x3f3f3f3f;
    typedef unsigned long long ull;
    struct Node {
    	int age;
    	char name[N];
    	inline bool operator<(const Node &x) const {
    		return age > x.age;
    	}
    }A[N];
    int main() {
    #ifdef LOCAL
    	freopen("in.txt", "r", stdin);
    	freopen("out.txt", "w+", stdout);
    #endif
    	int t, n;
    	char buf[200], digit[5];
    	scanf("%d", &t);
    	while (t--) {
    		scanf("%d", &n);
    		getchar();
    		rep(i, n) {
    			gets(buf);
    			int v, j = 0, len = strlen(buf);
    			for (; j < 4; j++) digit[j] = buf[len - 4 + j];
    			digit[j] = ''; v = atoi(digit);
    			buf[len - 5] = '';
    			A[i].age = v, strcpy(A[i].name, buf);
    		}
    		sort(A, A + n);
    		rep(i, n) printf("%s
    ", A[i].name);
    	}
    	return 0;
    }
  • 相关阅读:
    WebSerivce之使用AXIS开发(转自勇哥的BLOG)
    Apusic如何配置虚拟主机
    webservice之使用axis+spring开发(转自勇哥的BLOG)
    HP UX常用维护配置文件(转)
    Apache+Apusic集成配置负载均衡
    人员招聘与日常培训
    HP_UX常用指令列表(转,整理过,方便使用)
    Apusic ESB之我见
    VI常用指令列表(转,根据需要做过修改)
    ACM HDU 1017 A Mathematical Curiosity
  • 原文地址:https://www.cnblogs.com/GadyPu/p/4787024.html
Copyright © 2011-2022 走看看