1. 程式人生 > >UVA 12293 - Box Game(博弈)

UVA 12293 - Box Game(博弈)

can top ice con receive uva eight word-wrap data

UVA 12293 - Box Game

題目鏈接

題意:兩個盒子,一開始一個盒子有n個球。一個僅僅有1個球,每次把球少的盒子中球消掉,把多的拿一些球給這個盒子。最後不能操作的輸(球不能少於1個),Alice先手,問誰贏

思路:博弈。題目事實上能夠轉化為。給定一個n。每次把降低1到n/2的數字,最後誰是1誰就輸了,那麽能夠去遞推前幾項找個規律,或者推理,都能夠發現僅僅要是2^i - 1的數字Bob就贏,否則Alice贏

代碼:

#include <stdio.h>
#include <string.h>

long long n;

int main() {
	while (~scanf("%lld", &n) && n) {
		if (n&(n + 1)) printf("Alice\n");
		else printf("Bob\n");
 	}
	return 0;
}


UVA 12293 - Box Game(博弈)