Plate Game#C++

题目描述

You've got a rectangular table with length a and width b and the infinite number of plates of radius r. Two players play the following game: they take turns to put the plates on the table so that the plates don't lie on each other (but they can touch each other), and so that any point on any plate is located within the table's border. During the game one cannot move the plates that already lie on the table. The player who cannot make another move loses. Determine which player wins, the one who moves first or the one who moves second, provided that both players play optimally well.

输入

A single line contains three space-separated integers a, b, r (1 ≤ a, b, r ≤ 100) — the table sides and the plates' radius, correspondingly.

输出

If wins the player who moves first, print "First" (without the quotes). Otherwise print "Second" (without the quotes).

样例输入 
【样例1】
5 5 2
【样例2】
6 7 4
样例输出 
【样例1】
First
【样例2】
Second
提示

In the first sample the table has place for only one plate. The first player puts a plate on the table, the second player can't do that and loses.
 



In the second sample the table is so small that it doesn't have enough place even for one plate. So the first player loses without making a single move.

思路

要是能放下盘子,先手赢,放不下盘子,后手赢。

就比如玩一个小游戏,画一个九宫格。游戏规则是这样的,每人放一颗棋子上去,谁填掉最后一个空就赢,经过简单计算发现,先手的必赢,后手必输。

其实,这个和这个小游戏差不多,但这个是放盘子,盘子可以大于棋盘,因此棋盘小于盘子时,后手赢。

代码如下

#include<iostream>
using namespace std;

int main()
{
	int a, b, r;
	cin >> a >> b >> r;
	if (a < r * 2 || b < r * 2)
	{
		cout << "Second";
	}
	else 
	{
		cout << "First";
	}
	return 0;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Julie_Mol

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值