#BZOJ2798. [Poi2012]Bidding

[Poi2012]Bidding

题目描述

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头文件,有下面三个函数可以使用:
  4. int inicjuj(); 开始时调用,返回n的值。
  5. void alojzy(int x); A进行一次操作,x表示操作编号。
  6. int bajtazar(); 获得B的操作编号。 例如下面的程序每次选择操作1: #include "cliclib.h" int main() {   int n = inicjuj();   while (true) {     alojzy(1);     int x = bajtazar();   }   return 0; }

输入格式

输出格式



f提示

Source

鸣谢Oimaster