我有一个疑问吖,我随便写了一下这题,然后测了一下样例,输出要5个我输出了4个,算了,先提交……然后就直接AC了,我当时就很蒙圈,这是数据太水还是样例太强了呀。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=110;
int n,tot,t[N];
string ans[N];
struct node{
string s,u;
int o;
}a[N];
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
cin>>a[i].u>>a[i].s;
a[i].o=i;
}
for(int i=1;i<=n;i++)
if(a[i].s=="SAME")
ans[a[i].o]=a[i].u,t[a[i].o]=1;
for(int i=1;i<=n;i++)
{
while(a[i].s=="UP")
{
a[i].o++;
if(t[a[i].o]==0)
{
ans[a[i].o]=a[i].u;
t[a[i].o]=1;
break;
}
}
while(a[i].s=="DOWN")
{
a[i].o--;
if(t[a[i].o]==0)
{
ans[a[i].o]=a[i].u;
t[a[i].o]=1;
break;
}
}
}
while(n--)
{
if(ans[++tot]!=" ")
printf("%s\n",&ans[tot][0]);
}
return 0;
}
PS:由于真的是随便写的所以写得比较随意,不要介意为什么定义结构体还有……之类的。