CF176C Playing with Superglue

原题链接

  • 题意:给一个地图大小和二维平面上两个点,然后第一个人要让这两个点重合,然而第二个人要防止两个点重合,第二个人可以涂胶水,防止两个点重和,如果第一个人让某个点走到了胶水上,则不能移动这个点了。
  • 题解:提供一种做博弈题的思路,就是手动模拟大量情况,然后找规律,可以发现距离过远能过早得布局好,然后就是找规律了。
  • 代码:
#include <algorithm>
#include <cmath>
#include <cstring>
#include <iostream>
using namespace std;
typedef long long ll;
const ll N = 1e6 + 9, mod = 1e9 + 7;
ll a[N];
ll ans[N];
ll b[N];
void solve() {
    int n, m, x1, y1, x2, y2;
    cin >> n >> m >> x1 >> y1 >> x2 >> y2;
    int d1 = abs(x1-x2);
    int d2 = abs(y2 - y1);
    if (d1 > d2)swap(d1, d2);
    int d = d1 + d2 + 2;
    //ccout << d << endl;
    if ((d1 >= 3 && d2 >= 4 )||d1 > 4||d2 > 4) {
               cout << "Second\n";
    } else {
        cout << "First\n";
    }

}
signed main() {
    int t = 1;//scanf("%d", &t);
    while (t--) {
        solve();
    }
}


posted @ 2021-04-17 11:10  u_yan  阅读(31)  评论(0编辑  收藏  举报