19新生赛 棋子
Posted qingyuyyyyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了19新生赛 棋子相关的知识,希望对你有一定的参考价值。
新疆大学ACM协会最新研发了一款自走棋,hh和hhs两人正在兴致勃勃的对弈。以 下是自走棋的规则:
一共有10种棋子,每种棋子编号1-10 2. 每一秒钟hh和hhs可以各自获得一个棋子,hhs先拿棋子,hh后拿棋子 3. 如果某种棋子的数量达到3则该棋子自动升级,编号+1,数量降到1 4. 若有一方先获得了编号11的棋子,则输出该人的名字+nb,并且游戏结束
输入
输入n个数字ai(1<=ai <=10),n为偶数
输出
输出胜利人的名字+nb
样例输入
10 10 10 9 10 9
① ② ① ② ① ②
样例输出
hhsnb
代码
#include<bits/stdc++.h>
using namespace std;
const int N=12;
int arr1[N];
int arr2[N];
int a,b;
int main()
while(scanf("%d%d",&a,&b)==2) // ==2 确保输入了两个数才往下进行
arr1[a]++; // 数字为a的数量
arr2[b]++; //数字为b的数量
using namespace std;
const int N=12;
int arr1[N];
int arr2[N];
int a,b;
int main()
while(scanf("%d%d",&a,&b)==2) // ==2 确保输入了两个数才往下进行
arr1[a]++; // 数字为a的数量
arr2[b]++; //数字为b的数量
for(int i=1; i<=10; ++i)
if(arr1[i]==3)
arr1[i]=0;
arr1[i+1]++; //够三个的时候 升级 然后清零
if(arr2[i]==3)
arr2[i]=0;
arr2[i+1]++;
if(arr1[11])
printf("hhsnb");
break; //判断是否到11
if(arr2[11])
printf("hhnb");
break;
if(arr1[i]==3)
arr1[i]=0;
arr1[i+1]++; //够三个的时候 升级 然后清零
if(arr2[i]==3)
arr2[i]=0;
arr2[i+1]++;
if(arr1[11])
printf("hhsnb");
break; //判断是否到11
if(arr2[11])
printf("hhnb");
break;
return 0;
一开始没理解题意,不知道输入的数字分别是哪个人的
以上是关于19新生赛 棋子的主要内容,如果未能解决你的问题,请参考以下文章