首页 > 学院 > 开发设计 > 正文

P1540 机器翻译

2019-11-14 13:14:19
字体:
来源:转载
供稿:网友

题目描述

每个英文单词,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会将这个单词和译义放入内存。内存中共有m个单元,若内存中已存入M个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。

样例输入

3 71 2 1 5 4 4 1

样例输出

5

思路

O(m)因为数据很水,所以全部放入数组中不需要删除。var a,b:array[0..1500] of longint; i,j,ans,n,m,x,y:longint; t:boolean;begin readln(n,m); for i:=1 to m do read(a[i]); x:=1; for i:=1 to m do begin t:=true; for j:=x to y do if b[j]=a[i] then begin t:=false;break;end; if not t then continue; inc(ans); inc(y); b[y]:=a[i]; if ans>n then inc(x); end; writeln(ans);end.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表