UOJ Logo 黑暗爆炸OJ

DARKBZOJ

#2798. [Poi2012]Bidding

统计 下载数据

Description


A和B两个人在玩一个游戏,这个游戏是他们轮流操作一对整数(x,y)。
初始时(x,y)=(1,0),可以进行三种操作:
1. 将(x,y)变成(1,x+y)。
2. 将(x,y)变成(2x,y)。
3. 将(x,y)变成(3x,y)。
给定正整数n (n<=30,000),如果x+y>=n时就不能进行后两种操作。
如果某个人操作后y>=n,他就输掉了。
假如A为先手,问他是否有必胜策略。

这题是道交互题,需要包含cliclib.h头文件,有下面三个函数可以使用:
1. int inicjuj(); 开始时调用,返回n的值。
2. void alojzy(int x); A进行一次操作,x表示操作编号。
3. int bajtazar(); 获得B的操作编号。

例如下面的程序每次选择操作1:
#include "cliclib.h"
int main() {
  int n = inicjuj();
  while (true) {
    alojzy(1);
    int x = bajtazar();
  }
  return 0;
}

Input

Output

Sample Input

Sample Output

Hint

Source

鸣谢Oimaster