下载此文档

排火车.doc


文档分类:IT计算机 | 页数:约2页 举报非法文档有奖
1/2
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/2 下载此文档
文档列表 文档介绍
芒果和冰沙在玩排火车。
游戏的规则是:两人各有N张牌,轮流出牌,每次一个人把牌叠在上一次出的牌的上
方,如果这时发现当前的牌与前面的牌有重复,那么这之间的牌就都归出牌人了,收回去
的牌不会再被打出。芒果先出牌。请你计算一下第一轮下来芒果和冰沙获得的牌数。
★数据输入
标准输入输出。
每部分开头是一个整数N(1 <= N <= 50000),表示两人手上各有的牌数。接下来有2
行,给出芒果和冰沙牌得情况。首先给出的芒果牌,有N个整数,第i个整数pi(1 <= pi <=
100000)表示芒果第i次出的牌的牌面。其次给出冰沙的牌,格式类似。
★数据输出对于每组测试数据,输出芒果和冰沙第一轮过后获得的牌数。
输入示例输出示例
4
1 2 3 4
MG:0 BS:8
1 2 3 4
#include<>
#define n 50000
long a[n],b[n],c[2*n];
long MG=0,BS=0;
long insert(long int i,long x,int q)
{
long p;
c[i]=x;
for(p=0;p<i;p++)
{
if(c[p]==c[i])
{
if(q==1){MG+=i-p+1;break;}
else{BS+=i-p+1;break;}
}
}
return p==i?i+1:p;
}
void main()
{
long i,j,k,N,q;
scanf("%d",&N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++)
scanf("%d",&b[i]);
i=0,j=0,k=0;
while(k<N)
{
q=1;
i=insert(i,a[j],q);
j++;
q=0;
i=insert(i,b[k],q);
k++;
}
printf("MG:%d BS:%d\n",MG,BS);

}

排火车 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数2
  • 收藏数0 收藏
  • 顶次数0
  • 上传人drp539604
  • 文件大小0 KB
  • 时间2015-09-08