题目概述
思路
因为时间是唯一的,所以我们可以以时间做为下表存储字符串和序号(类似桶排序),从1开始遍历所有元素,若这个元素之后还有和它一样的元素,就直接过,若没有就输出
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<queue>
#include<algorithm>
using namespace std;
const int N=1e3+100;
int n,v,ord[N];
string a[N],s;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;++i)
{
cin>>s>>v;
a[v]=s,ord[v]=i;
}
for(int i=1;i<=n;++i)
{
bool used=1;
for(int j=i+1;j<=n;++j)
{
if(a[i]==a[j])
{
used=0;
break;
}
}
if(used)
cout<<ord[i]<<'\n';
}
return 0;
}
Comments | NOTHING