P1540 机器翻译

#include<bits/stdc++.h>
using namespace std;
int M,N;
int a[1005],book[1005],ans;
queue<int> q;
int main()
{
    cin>>M>>N;
    for(int i=1;i<=N;i++)
        cin>>a[i];
    for(int i=1;i<=N;i++)
    {
        if(book[a[i]]==1) continue;//如果内存中有a[i],跳过
        else
        {
            if(q.size()<M)//如果内存未满 
            {
                q.push(a[i]);//内存读入
                ans++;//读取次数加一
                book[a[i]]=1; 
            }
            else
            {
             book[q.front()]=0;
             q.pop();
             q.push(a[i]);
             book[a[i]]=1;
             ans++;
             
             } 
        }
    }
    cout<<ans<<endl;
}

 

转载于:https://www.cnblogs.com/lizinuo/p/9483349.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值