题目:一个袋子里有两种颜色的球,黑色和白色,你每次从中取出两个球,如果是同色的,则在袋子里放一个白球,否则放回一个黑球。
最后袋子里剩下一个球,你能最后判断球的颜色么?
输入格式:
多组测试数据,每组数据一行,有两个数。W和B。 (0<=W,B<=1000000000, W + B > 0),分别表示最初白球和黑球的个数。
输出格式:
如果你能确定最后一定剩余白球,输出WHITE,如果能确定最终一定剩余黑球,则输出BLACK,否则输出UNKNOWN。
分析:1.若拿了两个不同颜色的球,其实等同与只拿了一个白球。2.拿两个同色,则需要放回一个一个白的。若黑球为奇数,则无论如何最后剩下的是黑球,反之,最后剩下的一定是白球。
代码:
#include <iostream>
#include <cstdio>
using namespace std;
int w,b;
int main(){
while(scanf("%d%d",&w,&b) == 2){
printf("%s\n",b&1 ? "BLACK" : "WHITE");
}
return 0;
}