您的位置:澳门402永利com > 计算机 网络 > 机器翻译

机器翻译

发布时间:2019-09-23 20:45编辑:计算机 网络浏览(62)

    7:机译

    • 查看
    • 提交
    • 统计
    • 提问

    总时限: 
    1000ms

    内部存款和储蓄器限制: 
    65536kB

    描述
    小晨的计算机上设置了三个机械翻译软件,他时一时用这一个软件来翻译土耳其共和国(The Republic of Turkey)语小说。

    其一翻译软件的规律很简单,它只是原原本本,依次将每个瑞典语单词用相应的汉语意思来替换。对于各样法文单词,软件会先在内部存款和储蓄器中找找那几个单词的中文意思,即便内部存款和储蓄器中有,软件就能用它进行翻译;假使内部存款和储蓄器中未有,软件就能够在外部存款和储蓄器中的词典内寻觅,查出单词的汉语意思然后翻译,并将那一个单词和译义归入内部存款和储蓄器,以备后续的搜求和翻译。

    纵然内部存款和储蓄器中有M个单元,每单元能寄存一个单词和译义。每当软件将一个新单词存入内部存款和储蓄器前,要是当前内部存款和储蓄器中已存入的单词数不超过M−1,软件会将新单词存入四个未选拔的内部存款和储蓄器单元;若内部存款和储蓄器中已存入M 个单词,软件会清空最初步向内部存款和储蓄器的极其单词,腾出单元来,存放新单词。

    假若一篇印度语印尼语小说的尺寸为N个单词。给定那篇待译小说,翻译软件须求去外部存款和储蓄器查找多少次词典?假设在翻译开始前,内部存款和储蓄器中从未其余单词。

    输入
    输入文件共2行。每行中四个数以内用二个空格隔开分离。
    首先作为四个正整数M和N,代表内部存款和储蓄器容积和小说的尺寸。
    第二行为N个非负整数,根据文章的次第,各类数(大小不抢先一千)代表贰个英文单词。小说中三个单词是同贰个单词,当且仅当它们对应的非负整数一样。

    对此一成的多寡有M = 1,N ≤ 5。
    对于百分之百的数额有0 < M ≤ 100,0 < N ≤ 一千。

    输出
    共1行,蕴涵二个整数,为软件必要查词典的次数。

    样例输入
    样例 #1: 3 7 1 2 1 5 4 4 1

    样例 #2:
    2 10
    8 824 11 78 11 78 11 78 8 264
    

    样例输出
    样例 #1: 5

    样例 #2:
    6
    

    提示
    输入输出样例 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 次词典。

     1 #include<iostream>
     2 #include<cstring>
     3 #include<cstdio>
     4 #include<cmath>
     5 #include<queue>
     6 #include<vector>
     7 #include<algorithm>
     8 using namespace std;
     9 int m;//内存容量
    10 int n;//文章长度
    11 int a[1001];//存放当前字典  
    12 vector<int>zd;//存放内存中的字典
    13 int tot;//需要查找的次数
    14 int find(int tot)
    15 {
    16     for(int i=1;i<=n;i++)// 1 2 1 5 4 4 1
    17     {
    18         if(find(zd.begin(),zd.end(),a[i])==zd.end())
    19         {
    20             if(zd.size()==m)
    21             {
    22                 zd.erase(zd.begin());//删除第一个元素
    23                 zd.push_back(a[i]);
    24                 tot++; 
    25             }//内存已满
    26             else
    27             {
    28                 zd.push_back(a[i]);
    29                 tot++;    
    30             } 
    31         }//没有找到元素
    32         else
    33         continue;//找到之后直接返回 
    34         
    35     }//遍历每一个字符 
    36     return tot;
    37 }
    38 int main()
    39 {
    40     cin>>m>>n;
    41     for(int i=1;i<=n;i++)
    42     cin>>a[i];
    43     cout<<find(0);
    44     return 0;
    45 } 
    

     

    07:机译,07机械翻译

    7:机译

    • 查看
    • 提交
    • 统计
    • 提问

    总时间限定: 
    1000ms

    内部存款和储蓄器限制: 
    65536kB

    描述
    小晨的微管理器上设置了一个机械翻译软件,他平日用那个软件来翻译保加澳门语文章。

    本条翻译软件的法规很简短,它只是原原本本,依次将种种塞尔维亚共和国语单词用相应的国语意思来替换。对于每一种塞尔维亚语单词,软件会先在内存中追寻那些单词的华语意思,假设内存中有,软件就能够用它实行翻译;借使内存中未有,软件就能够在外部存款和储蓄器中的词典内寻找,查出单词的华语意思然后翻译,并将以此单词和译义归入内部存款和储蓄器,以备后续的追寻和翻译。

    万一内部存款和储蓄器中有M个单元,每单元能寄存三个单词和译义。每当软件将三个新单词存入内部存款和储蓄器前,假如当前内存中已存入的单词数不超越M−1,软件会将新单词存入七个未利用的内部存款和储蓄器单元;若内部存款和储蓄器中已存入M 个单词,软件会清空最初步入内部存款和储蓄器的那个单词,腾出单元来,存放新单词。

    尽管一篇克罗地亚共和国(Republic of Croatia)语著作的尺寸为N个单词。给定那篇待译小说,翻译软件须要去外部存款和储蓄器查找多少次词典?要是在翻译最早前,内部存款和储蓄器中平昔不别的单词。

    输入
    输入文件共2行。每行中多个数以内用叁个空格隔断。
    先是展现四个正整数M和N,代表内部存款和储蓄器体积和文章的长短。
    第二表现N个非负整数,遵照文章的逐条,各样数(大小不超过1000)代表三个英文单词。文章中七个单词是同一个单词,当且仅当它们对应的非负整数同样。

    对此百分之十的数码有M = 1,N ≤ 5。
    对于百分百的数量有0 < M ≤ 100,0 < N ≤ 一千。

    输出
    共1行,包括二个大背头,为软件要求查词典的次数。

    样例输入
    样例 #1: 3 7 1 2 1 5 4 4 1

    样例 #2:
    2 10
    8 824 11 78 11 78 11 78 8 264
    

    样例输出
    样例 #1: 5

    样例 #2:
    6
    

    提示
    输入输出样例 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 次词典。

     1 #include<iostream>
     2 #include<cstring>
     3 #include<cstdio>
     4 #include<cmath>
     5 #include<queue>
     6 #include<vector>
     7 #include<algorithm>
     8 using namespace std;
     9 int m;//内存容量
    10 int n;//文章长度
    11 int a[1001];//存放当前字典  
    12 vector<int>zd;//存放内存中的字典
    13 int tot;//需要查找的次数
    14 int find(int tot)
    15 {
    16     for(int i=1;i<=n;i++)// 1 2 1 5 4 4 1
    17     {
    18         if(find(zd.begin(),zd.end(),a[i])==zd.end())
    19         {
    20             if(zd.size()==m)
    21             {
    22                 zd.erase(zd.begin());//删除第一个元素
    23                 zd.push_back(a[i]);
    24                 tot++; 
    25             }//内存已满
    26             else
    27             {
    28                 zd.push_back(a[i]);
    29                 tot++;    
    30             } 
    31         }//没有找到元素
    32         else
    33         continue;//找到之后直接返回 
    34         
    35     }//遍历每一个字符 
    36     return tot;
    37 }
    38 int main()
    39 {
    40     cin>>m>>n;
    41     for(int i=1;i<=n;i++)
    42     cin>>a[i];
    43     cout<<find(0);
    44     return 0;
    45 } 
    

     

    7:机器翻译 查看 提交 统计提问 总时间范围: 一千ms 内部存款和储蓄器限制: 65536kB 描述 小晨的微管理器上安装了三个机械翻译软件,...

    本文由澳门402永利com发布于计算机 网络,转载请注明出处:机器翻译

    关键词:

上一篇:返回收件人是否阅读了邮件的方法

下一篇:没有了