Codeforces Round #45 A. Rock-paper-scissors

問題概要

3人がじゃんけんをする。それぞれの手が与えられるとき、勝者が唯一定まるならその勝者を出力し、そうでないなら?を出力せよ。

解法

やるだけなんて僕には言えない……

ソースコード

bool win(char *a,char *b)
{
	return (!strcmp(a,"rock")&&!strcmp(b,"scissors")||
		!strcmp(a,"scissors")&&!strcmp(b,"paper")||
		!strcmp(a,"paper")&&!strcmp(b,"rock"));
}

void run()
{
	char in[3][10];
	rep(i,3)scanf("%s",in[i]);
	int w=-1;
	rep(i,3)
	{
		rep(j,3)if(i!=j&&!win(in[i],in[j]))goto NEXT;
		if(w==-1)w=i; else w=-2;
		NEXT:;
	}
	if(w<0)puts("?");
	else puts(w<2?w==0?"F":"M":"S");
}