AT_utpc2024_f.Fourier Coefficients
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
本题为交互题(你的程序与评测程序通过标准输入输出进行交互)。评测程序的运行最多需要 1.3 秒。
给定一个整数 N。评测程序隐藏了一个函数 f(x):=∑k=0N−1Akcoskx,其中,A0,…,AN−1 是 0 以上、998244353 未满的整数。
通过下面的交互过程,确定整数 A0,…,AN−1:
- 你需要输出 N 组整数对 (X1,Y1),…,(XN,YN)。对于每组整数 (Xi,Yi),需要满足 0≤Xi≤Yi<998244353 且 Yi=0。
- 评测程序会回复 N 个整数 Z1,…,ZN。每个 Zi 按如下定义:Zi:=f(arccos(Xi/Yi))mod998244353。
关于 Zi 的严格定义:在 Xi,Yi 的限制下,f(arccos(Xi/Yi)) 是一个有理数,特别地,若用最简分数 Pi/Qi 表示,且 Qi≡0(mod998244353),则 Zi 是满足 ZiQi≡Pi(mod998244353) 的 [0,998244353) 内的唯一整数。可以证明,这样的 Zi 必然存在且唯一。
输入格式
本题为交互题(你的程序与评测程序通过标准输入输出进行交互)。
首先,从标准输入读取 N。
N
接下来,你需要输出满足条件的 (X1,Y1),…,(XN,YN),每两个数字之间以空格分隔,所有数值按 X1 Y1 X2 Y2 ⋯ XN YN 的顺序输出,最后换行并刷新缓冲区。
X1 Y1 X2 Y2 ⋯ XN YN
如输出合法,评测机会回复 N 个整数 Z1,…,ZN,每个数字之间以空格分隔,表示 f(arccos(Xi/Yi)) 模 998244353 的值。
Z1 Z2 ⋯ ZN
如输出不合法,则输入会返回一行 -1。
-1
如果收到 -1,请立即退出程序。
之后,请输出你的答案,格式如下:
A0 A1 ⋯ AN−1
输出格式
参考上述交互流程。
说明/提示
注意事项
- 每次输出后务必换行并刷新缓冲区。否则可能会因评测超时(TLE)而失败。
- 如果交互过程中输出非法内容,或者程序中途退出,则评测结果不确定。
- 输出答案后(或接收到
-1后)请立刻正常退出程序,否则评测结果不确定。 - 尤其需要注意,如果输出多余的换行,也会被判为格式错误。
- 评测程序不会根据你的查询自适应变化。也就是说,A0,…,AN−1 在交互开始就已经固定,期间不会改变。
输入输出样例
以下为 N=2、(A0,A1)=(3,2) 的示例:
输入 输出 说明
`2` 给出 $N$
`0 1`
`1 1` 向评测程序查询符合条件的 $(X_i, Y_i)$
`3`
`5` 得到 $f(\arccos(X_i / Y_i))$ 的结果回复
`3`
`2` 输出结果 $(A_0, A_1) = (3, 2)$
输入格式
详见题面交互过程。
输出格式
详见题面交互过程。
提示
- 输入均为整数。
- 1≤N≤5×105。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?