【洛谷】P1540 机器翻译

版权声明:未经博主允许,禁止转载 https://blog.csdn.net/logo_FC/article/details/77921310

原题


这道题目就是一道十分简单的模拟(这还用说?)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
int flag[1010],a[1010];
int main(){
    int i,j,k,n,m,ans=0,del=1,now=0;
    scanf("%d%d",&m,&n);
    for(i=1;i<=n;i++){
        int x;
        scanf("%d",&x);
        if(flag[x])continue;
        flag[x]=1;ans++;now++;
        if(now>m){
            now--;flag[a[del]]=0;
            a[del]=x;del++;
        }
        else a[now]=x;
        if(del>m)del-=m;
    }
    printf("%d\n",ans);
    return 0;
}
阅读更多

没有更多推荐了,返回首页