2013年7月2日 星期二

2013/7/2 HSNU OJ Problem : 50 - 幸福幼稚園

#include<algorithm>
#include<iostream>
#include<cstdio>
using namespace std;
int stu[65001];
struct s
{
    int no, x;
}op[65001];
bool cmp(s a, s b)
{
    return a.x < b.x;
}
int main()
{
    int SJ; scanf("%d", &SJ);
    for(int i = 0; i < SJ; i++)
    {
        int t; scanf("%d", &t);
        stu[t] = i;      
    }  
    int l = -1; int r = SJ;
    char c;
    while( scanf("%c", &c) )
    {
        if( c == 'C' ){ break; }
        if( c == 'A' ){ int t; scanf("%d", &t); stu[t] = l--; }
        if( c == 'B' ){ int t; scanf("%d", &t); stu[t] = r++; }
    }  
    for(int i = 0; i < SJ; i++)
    {
        op[i].no = i+1; op[i].x = stu[i+1];
    }
    sort(op,op+SJ,cmp);
    for(int i = 0; i < SJ-1; i++)
    {
        printf("%d ", op[i].no);
    }
    printf("%d\n", op[SJ-1].no); //system("pause");
}

沒有留言:

張貼留言