NOIP2010 提高组 机器翻译

本文提供了一道NOIP2010竞赛题目的解析,该题目涉及数组模拟实现队列操作,通过具体算法实现机器翻译场景中的词汇匹配与计数问题。

题目:http://www.tsinsen.com/ViewGProblem.page?gpid=A1182

 

解析:题目比较简单,应用了对列(数组模拟)

 

评测:

 

/*
 * =====================================================================================
 *
 *       Filename:  Noip2010jiqifanyi.c
 *
 *    Description:  RT
 *
 *        Version:  1.0
 *        Created:  2014-05-27 14:25:14
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  Rainboy (mn), 597872644@qq.com
 *        Company:  NONE
 *
 * =====================================================================================
 */
#include <stdio.h>
int M,N;
int queue[1001]= {0};
int article[1001]= {0};
int head=0,tail=0;
int main(int argc, const char *argv[])
{
    int i,j,Bfind,count=0;
    scanf("%d%d",&M,&N);
    for (i = 0; i < N; i++)
    {
        scanf("%d",&article[i]);
    }
    queue[head] = article[0];
    count = 1;
    for (i = 0; i < N; i++)
    {
        Bfind = 0;
        for (j = head; j <= tail; j++)
        {
            if (queue[j] == article[i])
            {
                Bfind = 1;
                break;
            }
        }
        if(!Bfind)
        {
            if ((tail-head+1) == M)
            {
                tail++;
                head++;
                count++;
                queue[tail]=article[i];
            }
            else
            {
                tail++;
                count++;
                queue[tail] = article[i];
            }
        }
    }
    printf("%d\n",count);
    return 0;
}

  

转载于:https://www.cnblogs.com/rainboy/p/3755161.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值