机器翻译
2014-04-29 12:50
288 查看
做这道题要细心的看题目,不然会被坑的。代表单词的是一个非负整数,所以0也是一个单词,判断时就不可以用0来判断。
该题的主要思想是要做好变动数组头尾的处理,处理好了也就没什么问题了。首先定义两个一样大的数组,一个存入代表英语单词的数,这是不变动的数组,在一个是存入进入内存的数,这是变动的数组。当变动数组满了的时候,变动的数组两端要同时变化都自加一。
#include<stdio.h>
int a[1000],b[1000];
int main()
{
int n,m,i,j;
while(scanf("%d%d",&n,&m)!=EOF)
{
int temp=0,p=0;
for(i=0;i<m;i++)
{
scanf("%d",&a[i]);
b[i]=-1;
}
for(i=0;i<m;i++)
for(j=p;j<n;j++)
{
if(b[n-1]!=-1)
{
p++;n++;
}
if(b[j]==-1)
{
b[j]=a[i];
break;
}
if(b[j]==a[i])
temp++;
}
printf("%d\n",m-temp);
}
return 0;
}
该题的主要思想是要做好变动数组头尾的处理,处理好了也就没什么问题了。首先定义两个一样大的数组,一个存入代表英语单词的数,这是不变动的数组,在一个是存入进入内存的数,这是变动的数组。当变动数组满了的时候,变动的数组两端要同时变化都自加一。
#include<stdio.h>
int a[1000],b[1000];
int main()
{
int n,m,i,j;
while(scanf("%d%d",&n,&m)!=EOF)
{
int temp=0,p=0;
for(i=0;i<m;i++)
{
scanf("%d",&a[i]);
b[i]=-1;
}
for(i=0;i<m;i++)
for(j=p;j<n;j++)
{
if(b[n-1]!=-1)
{
p++;n++;
}
if(b[j]==-1)
{
b[j]=a[i];
break;
}
if(b[j]==a[i])
temp++;
}
printf("%d\n",m-temp);
}
return 0;
}
相关文章推荐
- 机器翻译和自然语言信息处理专业硕士研究生培养方案
- 机器翻译(noip2010)
- NOIP2010提高组 机器翻译 -SilverN
- 对偶学习及其在机器翻译中的应用
- 机器翻译评价指标之BLEU详细计算过程
- 机器翻译自动评估-BLEU算法详解
- Facebook最新对抗学习研究:无需「平行语料库」完成「无监督」机器翻译
- 机器翻译
- 【模拟】【NOIP2010】机器翻译 translate
- Wikioi P1067 机器翻译
- 2010 机器翻译
- NOIP2010 提高组 复赛 translate 机器翻译
- BLEU,ROUGE,METEOR,ROUGE-浅述自然语言处理机器翻译常用评价度量
- luogu1540【2010提高】机器翻译(队列)
- 机器翻译评测——BLEU改进后的NIST算法
- T1401 机器翻译(#Ⅰ- 6 - 1)
- 【模拟】【NOIP2010】机器翻译 translate
- 机器翻译(待续)
- 模仿的机器翻译
- CODEVS1067:机器翻译(模拟水题)