P11382 [POI 2024/2025 R1] Kasyno(交互,无法评测)

题目背景

官方交互库在附件里,但是我不会改。 原题译自 [POI 2024/2025 R1 Kasyno](https://sio2.mimuw.edu.pl/c/oi32-1/p/kas/)。

题目描述

Bajtazar 有一个机器,一开始它会选择在 $1 \sim n$ 之前等概率选择一个数 $x$,并且 Bajtazar 有三种操作可以选择。 1. 选择一个数 $y\ (1 \leq y \leq n)$,这会返回 $\gcd(x,y)$。 2. 重新在 $1\sim n$ 等概率选择一个数字 $x$。 3. 猜测一个数字 $y$,如果正确则开始一局新的游戏,否则退出游戏。 无论如何,上述操作都会消耗一个游戏币,并且重复执行上述操作直到游戏币使用了 $10^7$ 个或选择了猜测并猜测错误。

输入格式

你需要帮助 Bajtazar 完成操作。 在 `kaslib.h` 中有如下函数可以使用。 ```cpp long long DajN() long long Pytaj(long long y) void Szturchnij() void Odpowiedz(long long y) ``` 作用分别如下: - `DajN()` 返回常数 $n=10^{18}$,这对解题并无影响,但或许会提供帮助。 - `Pyatj(long long y)` 返回 $\gcd(x,y)$。 - `Szturchnij()` 重新选择一个 $x$。 - `Odpowiedz(long long y)` 表示你的答案 $y$。

输出格式

无。

说明/提示

| 选手 | 交互库 | 解释 | | :----------- | :----------- | :----------- | | $/$ | $/$ | 此时选择了一个 $x=7$ 的初始数字 | | `Pytaj(9)` | $1$ | $\gcd(7,9)=1$ | | `Szturchnij()` | $/$ | 此时在 $1 \sim n$ 中重新随机了 $x=6$ | | `Pytaj(2)` | $2$ | $\gcd(6,2)=2$ | | `Pytaj(3)` | $3$ | $\gcd(6,3)=3$ | | `Odpowiedz(6)` | $/$ | 获胜。 | 对于每个测试点,如果说你猜对了 $w$ 次,那么就可以得到这个测试点的百分之 $\lfloor 100 \cdot \frac{\log(1+\min(2000,w))}{\log(1+2000)} \rfloor$ 分。 一共有十个测试点。