标签:遇到 its 个数 long oid namespace ems 思维 ios
n表示n个数,m表示m次操作
每次操作将位于ei位置的数移动到最前端。
一个数组记录操作记录,一个数组记录访问值。从操作数末尾向前推倒,如果遇到未记录的数值,打印并记录。遍历一遍之后,从头向尾输出未被记录的值。
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<string>
#include<vector>
#include<stack>
#include<bitset>
#include<cstdlib>
#include<cmath>
#include<set>
#include<list>
#include<deque>
#include<map>
#include<queue>
using namespace std;
typedef long long ll;
const double PI = acos(-1.0);
const double eps = 1e-6;
const int INF = 0x3f3f3f3f;
int T;
const int MAXN = 2e5+10;
int a[MAXN];
int vis[MAXN];
void init(){
memset(a,0,sizeof(a));
memset(vis,0,sizeof(vis));
}
int n,m;
int main() {
scanf("%d %d",&n,&m);
init();
for(int i=1;i<=m;i++) scanf("%d",&a[i]);
for(int i=m;i>=1;i--){
if(vis[a[i]]==1) continue;
else{
printf("%d\n",a[i]);
vis[a[i]]=1;
}
}
for(int i=1;i<=n;i++){
if(vis[i]==0) printf("%d\n",i);
}
return 0;
}
Gym101158A Rearranging a Sequence(思维)
标签:遇到 its 个数 long oid namespace ems 思维 ios
原文地址:https://www.cnblogs.com/caomingpei/p/9637190.html