Forever Young

HDU1847 Good Luck in CET-4 Everybody!

思路

可以用手算的方法得出规律。

不难发现只要面对的是 \(3\) 的倍数,先手必败。

原因不难理解,因为 \(3\) 是一个必败点,两个人都会努力让对手面对到 \(3\) 的倍数的情况,使自己获得胜利。

代码

/*
Author: Loceaner
知识点: 巴什博奕 
*/
#include <cmath>
#include <cstdio>
#include <vector>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;

const int A = 1e5 + 11;

inline int read() {
  char c = getchar(); int x = 0, f = 1;
  for ( ; !isdigit(c); c = getchar()) if (c == '-') f = -1;
  for ( ; isdigit(c); c = getchar()) x = x * 10 + (c ^ 48);
  return x * f;
}

int n;

int main() {
  while (scanf("%d", &n) != EOF) {
    if (!(n % 3)) puts("Cici");
    else puts("Kiki");
  }
  return 0;
}
posted @ 2020-09-09 19:36  Loceaner  阅读(70)  评论(1编辑  收藏  举报