题目信息

题目类型
练习
题目年份
2025
题目题型
编程题
关 键 词
机器翻译

题目题干

机器翻译

题目描述

rDC100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。rDC100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
rDC100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。rDC100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
假设内存中有 M 个单元,每单元能存放一个单词和译义。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过 M-1,软件会将新单词存入一个未使用的内存单元;若内存中已存入 M 个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。rDC100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
假设一篇英语文章的长度为 N 个单词。给定这篇待译文章,翻译软件需要去外存查找多少次词典?假设在翻译开始前,内存中没有任何单词。

输入

rDC100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
共 2 行。每行中两个数之间用一个空格隔开。rDC100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第一行为两个正整数 M,N,代表内存容量和文章的长度。rDC100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第二行为 N 个非负整数,按照文章的顺序,每个数(大小不超过 1000)代表一个英文单词。文章中两个单词是同一个单词,当且仅当它们对应的非负整数相同。

输出

rDC100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
一个整数,为软件需要查词典的次数。

样例输入 

3 7
1 2 1 5 4 4 1

样例输出

5

提示

样例解释

整个查字典过程如下:每行表示一个单词的翻译,冒号前为本次翻译后的内存状况:
  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% 的数据有 1≤M≤100,1≤N≤1000。

 

答案解析

相关题目

分数数列求和 题目描述 给定一个正整数n,Sn 是数列的前n项的和。 求出4×Sn项的值 输入 一个正整数n 输出 前4×Sn项的值,结果保留10位小数 样例输入 100 样例输出  3.131
机器翻译 题目描述 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件
维护序列 题目描述 给定一个长度为n的整数序列。现在有m个操作,操作分为三类,格式如下: (1) 1 i:询问序列中第i个元素的值,保证i小于等于当前序列长度; (2) 2 i v:在序列中第i个元
耍杂技的牛 题目描述 农民约翰的 N 头奶牛(编号为 1..N)计划逃跑并加入马戏团,为此它们决定练习表演杂技。 奶牛们不是非常有创意,只提出了一个杂技表演: 叠罗汉,表演时,奶牛们站在彼此的身上,
货仓选址 题目描述 在一条数轴上有 N 家商店,它们的坐标分别为 A1∼AN。 现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。 为了提高效率,求把货仓建在何处,可以使得货
区间覆盖 题目描述 给定 N 个闭区间 [ai,bi] 以及一个线段区间 [s,t],请你选择尽量少的区间,将指定线段区间完全覆盖。 输出最少区间数,如果无法完全覆盖则输出 −1。 输入 第一行包
区间分组 题目描述 给定 N 个闭区间 [ai,bi],请你将这些区间分成若干组,使得每组内部的区间两两之间(包括端点)没有交集,并使得组数尽可能小。 输出最小组数。 输入 第一行包含整数 N,
【例1.6】回文数(Noip1999) 【题目描述】 若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。例如:给定一个 10进制数 56,将 56加 65(即把56从右向左
【05NOIP提高组】谁拿了最多奖学金 【题目描述】 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同: 1)院士奖学金,每人8000元,期末平均成绩高于80分
【例5.20】字串包含 【题目描述】 字符串移位包含问题。 对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。 给定两个字符串s1和s2,要求判定其中一个字

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢