AT_arc158_d.[ARC158D] Equation

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定正整数 nn 和一个不小于 55 的素数 pp。

请你找到一组整数 (x,y,z)(x, y, z),满足以下所有条件:

  • 1≤x<y<z≤p−11 \leq x < y < z \leq p - 1。
  • (x+y+z)(xn+yn+zn)(x2n+y2n+z2n)≡x3n+y3n+z3n(modp)(x+y+z)(x^n+y^n+z^n)(x^{2n}+y^{2n}+z^{2n}) \equiv x^{3n}+y^{3n}+z^{3n} \pmod{p}。

可以证明,总是存在满足条件的三元组 (x,y,z)(x, y, z)。

有 TT 组测试数据,请分别给出每组的答案。

输入格式

输入按以下格式从标准输入读入:

TT

case1\text{case}_1

⋮\vdots

caseT\text{case}_T

每组测试数据为一行,格式如下:

nn pp

输出格式

请输出 TT 行,第 ii 行输出第 ii 组测试数据的一个解 (x,y,z)(x, y, z),用空格分隔。

如果有多组解,输出任意一组均可。

输入输出样例

  • 输入#1

    3
    1 7
    2 7
    10 998244353

    输出#1

    1 4 6
    1 2 5
    20380119 21549656 279594297

说明/提示

数据范围

  • 1≤T≤1051 \leq T \leq 10^5
  • 1≤n≤1091 \leq n \leq 10^9
  • pp 是满足 5≤p≤1095 \leq p \leq 10^9 的素数

样例解释 1

对于第一组测试数据:

  • (x+y+z)(xn+yn+zn)(x2n+y2n+z2n)=(1+4+6)(1+4+6)(1+16+36)=6413(x+y+z)(x^n+y^n+z^n)(x^{2n}+y^{2n}+z^{2n}) = (1+4+6)(1+4+6)(1+16+36) = 6413
  • x3n+y3n+z3n=1+64+216=281x^{3n}+y^{3n}+z^{3n} = 1 + 64 + 216 = 281

由于 6413≡281(mod7)6413 \equiv 281 \pmod{7},所以满足条件。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页