#include int main() { // 禁用 C++ 标准流与 C 标准流的同步,加速 I/O std::ios_base::sync_with_stdio(false); // 解除 cin 和 cout 的绑定,进一步加速 I/O std::cin.tie(NULL); // 选择 A 和 B // 我们选择 A=100000, B=100。这两个值都在 [100, 10^5] 范围内。 // 这种选择确保了 Y = A^B mod(10^9+7) 能被 2 和 5 整除, // 从而使得 X_final 的 2/5 整除性与 K 的 2/5 整除性绑定, // 进而唯一确定 X_final^100000 mod 100 的值。 std::cout << "100000 100" << std::endl; // 必须刷新输出,否则交互式程序可能无法正常工作 std::cout.flush(); int K; // 读取裁判返回的 K 值 std::cin >> K; int predicted_X_prime; // 根据 K 对 2 和 5 的整除性来确定 X_final 对 2 和 5 的整除性, // 从而确定 X' 的值。 if (K % 10 == 0) { // K 是 10 的倍数 => X_final 是 10 的倍数 => X' = 0 predicted_X_prime = 0; } else if (K % 2 == 0) { // K 是 2 的倍数但不是 5 的倍数 => X_final 是 2 的倍数但不是 5 的倍数 => X' = 76 predicted_X_prime = 76; } else if (K % 5 == 0) { // K 是 5 的倍数但不是 2 的倍数 => X_final 是 5 的倍数但不是 2 的倍数 => X' = 25 predicted_X_prime = 25; } else { // K 既不是 2 的倍数也不是 5 的倍数 => X_final 既不是 2 的倍数也不是 5 的倍数 => X' = 1 predicted_X_prime = 1; } // 输出预测的 X' 值 std::cout << predicted_X_prime << std::endl; // 必须刷新输出 std::cout.flush(); // 根据问题描述,裁判会返回一个表示结果的整数 ret (1表示正确,0表示错误), // 但我们不需要使用这个值来确定下一步操作,所以可以忽略读取。 // int ret; // std::cin >> ret; return 0; }