洛谷——P1540机器翻译(队列操作)

#include<bits/stdc++.h>
using namespace std;
int main(){
    queue<int> num;//存放的内存
    bool inQueue[100003];
    int m,n;
    int count=0;
    scanf("%d %d",&m,&n); 
    for(int i=0;i<n;i++){
        int x = 0;
        scanf("%d",&x);
        if(!inQueue[x]){
            count++;
            if(num.size()>=m){
                int n = num.front();
                inQueue[n]=false;
                num.pop();
                
            }    
            num.push(x);
            inQueue[x]=true;//表示有了在队列里面  
        }
        
    }
    printf("%d\n",count);
    return 0; 
} 

 

posted @ 2019-01-17 19:38  程序小白阿诺  阅读(301)  评论(0编辑  收藏  举报