计蒜客 - T1096 - 石头剪刀布
题目
石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。
一天,小 AA 和小 BB 正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的,比如:“石头-布-石头-剪刀-石头-布-石头-剪刀……”,就是以“石头-布-石头-剪刀”为周期不断循环的。请问,小 AA 和小 BB 比了 NN 轮之后,谁赢的轮数多?
思路
存储小A和小B的出拳规律 然后进行比较 因为他们的出拳是有周期性规律的 所以循环两个人的出拳规律直到比到N轮
代码
#include <stdio.h>
void main()
{
int n, a, b, i,j=0,k=0, al[100], bl[100],aw=0,bw=0;
scanf("%d %d %d", &n, &a, &b);
for (i = 0; i < a; i++) {
scanf("%d",&al[i]);
}
for (i = 0; i < b; i++) {
scanf("%d",&bl[i]);
}
for (i = 1; i <= n; i++) {
if ((i > a) && (i % a == 1)) j = 0;
if ((i > b) && (i % b == 1)) k = 0;
if (al[j] == bl[k]) {
j++, k++;
continue;
}
else if (((al[j] == 0) && (bl[k] == 2)) || ((al[j] == 2) && (bl[k] == 5)) || ((al[j] == 5) && (bl[k] == 0))) aw++;
else bw++;
j++, k++;
}
if (aw > bw) printf("A");
if (aw < bw) printf("B");
if (aw == bw) printf("draw");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)