[CodeForces - 197A] A - Plate Game

 

A - Plate Game

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.

Input

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

Output

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

Example

Input
5 5 2
Output
First
Input
6 7 4
Output
Second

Note

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.

题目大意就是有一个a*b的地方,在上面放半径为r的圆,要求圆两两不能相交(可以相切),也不能越出边界,两人轮流放,最后谁胜.

一开始并没有思路,就先去扛T2,T3了.后来T4一直WA,就回来想T1了.看了看大家的提交,代码长度都很短,我就纳闷了--------会不会是O(1)的?

后来想了一下,第一个操作的人如果可以放,他会放在哪里?应该是正中间.为什么?

因为先手放了一个正中间后,后手要么没地方放,要么有,但是先手也有,而且先手的操作与之对称,这样先手总是不会先面临不能放的局面.

所以,如果先手第一个放的下,那他就必胜了.

1 #include<cstdio>
2 using namespace std;
3 int main(){
4     int a,b,r; scanf("%d%d%d",&a,&b,&r);
5     if (2*r>a||2*r>b) puts("Second"); else puts("First"); 
6     return 0;
7 }
View Code

 

转载于:https://www.cnblogs.com/whc200305/p/7214332.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值