uva 10771 - Barbarian tribes(推理)

题目大意:uva 10771 - Barbarian tribes


题目大意:给出n,m和k,有n个G,m个K,站成一个圈,现在有个杀手每次走k步,杀掉当前位置的人,每次杀两个人之后如果这两个人都是G或都是K,就用G补上,否则就用K补上。问说最后剩一个谁。


解题思路:三种情况,1)杀掉两个K,补上G。2)杀掉两个G,补上G。3)杀掉一个K一个G,补上K。

可以发现,K只能一次性杀掉两个才可以。


#include <stdio.h>

int main() {
	int n, m, k;
	while (scanf("%d%d%d", &n, &m, &k) == 3 && n + m + k) {
		printf("%s\n", m % 2 ? "Keka" : "Gared");
	}
	return 0;
}


你可能感兴趣的:(uva 10771 - Barbarian tribes(推理))