CodeForces 176C Playing with Superglue 博弈论
Playing with Superglue
题目连接:
http://codeforces.com/problemset/problem/176/C
Description
Two players play a game. The game is played on a rectangular board with n × m squares. At the beginning of the game two different squares of the board have two chips. The first player's goal is to shift the chips to the same square. The second player aims to stop the first one with a tube of superglue.
We'll describe the rules of the game in more detail.
The players move in turns. The first player begins.
With every move the first player chooses one of his unglued chips, and shifts it one square to the left, to the right, up or down. It is not allowed to move a chip beyond the board edge. At the beginning of a turn some squares of the board may be covered with a glue. The first player can move the chip to such square, in this case the chip gets tightly glued and cannot move any longer.
At each move the second player selects one of the free squares (which do not contain a chip or a glue) and covers it with superglue. The glue dries long and squares covered with it remain sticky up to the end of the game.
If, after some move of the first player both chips are in the same square, then the first player wins. If the first player cannot make a move (both of his chips are glued), then the second player wins. Note that the situation where the second player cannot make a move is impossible — he can always spread the glue on the square from which the first player has just moved the chip.
We will further clarify the case where both chips are glued and are in the same square. In this case the first player wins as the game ends as soon as both chips are in the same square, and the condition of the loss (the inability to move) does not arise.
You know the board sizes and the positions of the two chips on it. At the beginning of the game all board squares are glue-free. Find out who wins if the players play optimally.
Input
The first line contains six integers n, m, x1, y1, x2, y2 — the board sizes and the coordinates of the first and second chips, correspondingly (1 ≤ n, m ≤ 100; 2 ≤ n × m; 1 ≤ x1, x2 ≤ n; 1 ≤ y1, y2 ≤ m). The numbers in the line are separated by single spaces.
It is guaranteed that the chips are located in different squares.
Output
If the first player wins, print "First" without the quotes. Otherwise, print "Second" without the quotes.
Sample Input
1 6 1 2 1 6
Sample Output
First
Hint
题意
给你一个n*m的棋盘
第一个人的目的是让两个棋子合在一起
第二个人是阻止两个棋子合在一起
然后给你两个棋子,第一个人先走,然后第二个人在地上涂胶水,涂过胶水的位置棋子踩了上去就不能动了
问你谁能够胜利
题解:
找一个和你一样闲的蛋疼的人去玩几把就好了
除了4 3这个数据,其他数据都很容易就能玩出来
4 3这个数据玩了10局之后,终于发现后手必胜了。。。
太蛋疼了。。。
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,x1,y1,x2,y2;
cin>>n>>m>>x1>>y1>>x2>>y2;
int dis1 = abs(x1-x2);
int dis2 = abs(y1-y2);
if(dis1>dis2)swap(dis1,dis2);
if(dis1>4||dis2>4)return puts("Second");
if(dis1==4&&dis2==4)return puts("Second");
if(dis1==3&&dis2==4)return puts("Second");
return puts("First");
}