标题问题描述方法

      小晨的电脑上镶嵌了任一机器翻译软件,他常常用就是这样软件来翻译英语手迹。
翻译软件的规律异常复杂。,然而从开端到完毕,顺次将每个英文单词用对应的国文感到来掉换。为每个英文单词,软件会先在内存中查找就是这样单词的国文感到,如 回忆录中间的结果实,软件将用它翻译;结果内存中不注意内存,软件将在字典中在内部内存中找到。,踪迹单词的国文感到而且翻译,把就是这样词和翻译放进回忆录里,为了跟进 搜索与翻译。
承认回忆录中有M单位,每个单元可以内存任一单词和翻译的意思。。每回软件把任一新词的创造者放进内存中,结果今天内存中已存入的单词数不超过M−1,软件将新词的创造者内存到未应用的内存单元中。;结果M字早已内存在内存中,软件将把第任一单词内存到内存中。,降落策略,内存新单词。
承认一篇英语手迹的音长为N个单词。预先布置要翻译的手迹,翻译软件需求搜索多少次?,回忆录中不注意手迹。

输入

一社会团体2行输入发送。每个行中间的两编号字由任一盖印分配。。

第任一行动两个无符号积分m和n,代表的回忆录才能与手迹的间隔。

非负积分的第二份食物行动,按照手迹的次,每编号(大多数不超过1000)代表任一英文单词。手迹中间的两个词是同任一词。,当且仅当它们对应的非负积分相似的时。

[输入和输入范本1 ]
查字典的整个过程如次:每行代表任一单词的翻译,结肠前翻译的回忆录规定: 
空:内存的初始规定为空。。 
1.1:改善单词1并把它记在回忆录中。。 
2.1 2:改善单词2并把它记在回忆录中。。 
3.1 2:在内存中查找单词1。 
4.1 2 5:改善单词5并把它记在回忆录中。。 
5.2 5 4:查找单词4并传送到内存器掉换字1。。 
6.2 5 4:在内存中查找单词4。 
7.5 4 1:改善单词1并把它记在回忆录中。排挤单词2。 
总共反省了5本字典。。 
[记载仔细研究]
为10%的记载,有M=1。,N≤5。 
100%的记载是0。

输入

总共输入1行,克制积分,需求反省的字典数作用次数。

样例输入

37

1 2 1 5 4 4 1

样例输入

5

#include 
#include 
struct Que{
	int 记载〔1000〕
	int head;
	int tail;
}Queue;
void init(){
	Queue.head = 0;
	Queue.tail = 0;
	memset(, 0, sizeof());
	return;
}
int main(){
	int m, n, i, j, A〔1001〕, count = 0;
	scanf("%d%d", &m, &n);
为了(我) = 0; i < n; i++){
		scanf("%d", &a[i]);
	}
	init();
为了(我) = 0; i < n; i++){
		int flag = 0;
		for(j = Queue.head; j < Queue.tail; j++){
			if(a[i] == [j])flag = 1;
		}
		if(flag == 0){
			count++; 
			if(Queue.tail < m){
				[] = a[i];
			}
			else{
				Queue.head++;
				[] = a[i];
			}
		}
	}
	printf("%d", count);
	return 0;
}

no comments

Leave me comment