机器翻译

标题描写

      小晨的电脑上直竖的了一太阳城申博,他常常用刚过去的软件来翻译英语写作。
刚过去的翻译软件的规律完全复杂。,然而从头到尾。,以次将每个英文单词用对应的国文观念来掉换。为了每个英文单词,软件会先在内存中查找刚过去的单词的国文观念,如 往事中间的赢得,软件将用它翻译。;万一不注意往事,软件将在表面贮藏器中间的字典中搜索。,鱼单词的国文观念之后翻译,把刚过去的词和翻译放在往事里。,为了跟进 搜索与翻译。
想象内存中有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;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注