1. 程式人生 > >NOIP機器翻譯(提高組T1)————佇列,模擬

NOIP機器翻譯(提高組T1)————佇列,模擬

題解:本題主要考查佇列,模擬,用兩個陣列一個記錄單詞在不在記憶體中,一個做標記。用指標r指向隊首若記憶體滿了,刪除並指標右移。
程式碼如下:

#include<iostream>
using namespace std;
int n,m,i,j,r=1,q=0,num=0;
int nei[1111],t[1111];
int main()
{
    cin>>m>>n;
    for(i=1;i<=n;i++)
    {
     cin>>j;
     if(nei[j]==0)
     {  
        q++;num++;
     	nei[j]=1;t[q]=j; 
     	if(q>m){nei[t[r]]=0;r++;}
     }
    }
    cout<<num;
    cin>>n;
    return 0;
}