2009年广东省大学生程序设计竞赛 J

// 没看懂,队友说水,写写过了、、
// 他的代码==
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<iostream>
#include<queue>
#include<stack>
#include<map>
#include<cmath>
#include<bitset>
#define BUG printf("hehe ")
#define INF 0x3f3f3f3f
#define ll __int64
#define lowbit(x) x&-x
using namespace std;

#pragma comment(linker, "/STACK:102400000,102400000")

struct Mem
{
    int t,d;
    char name[30];
}mem[10010];

int n;

bool cmp(Mem A,Mem B)
{
    return A.t<B.t||(A.t==B.t&&(strcmp(A.name,B.name)<0));
}

int main()
{
    int _;
    cin>>_;
    int sum;
    while(_--) {
        scanf("%d",&n);
        for(int i=1;i<=n;++i)
            scanf("%d%s%d",&mem[i].t,mem[i].name,&mem[i].d);
        sort(mem+1,mem+1+n,cmp);
        sum=0;
        for(int i=1;i<=n;++i) {
            //sum+=mem[i].t;
            if(mem[i].t>sum) sum=mem[i].t;
            printf("%s went out at %d ",mem[i].name,sum);
            sum+=mem[i].d;
        }
        puts("");
    }
}                                

原文地址:https://www.cnblogs.com/20120125llcai/p/3661947.html