CF2040A.Game of Division
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 n 的整数数组 a1,a2,…,an 和一个整数 k。
有两名玩家在进行游戏。第一名玩家选择一个下标 1≤i≤n。然后第二名玩家选择一个不同的下标 1≤j≤n,i=j。如果 ∣ai−aj∣ 不能被 k 整除,则第一名玩家获胜。否则,第二名玩家获胜。
你作为第一名玩家,判断是否有可能获胜。如果可以,输出应该选择哪个下标 i。
数 x 的绝对值记作 ∣x∣,当 x≥0 时 ∣x∣=x,否则 ∣x∣=−x。
输入格式
每组测试数据包含多组测试用例。输入的第一行包含一个整数 t(1≤t≤100)——表示测试用例的数量。接下来是每组测试用例的描述。
每组测试用例的第一行包含两个整数 n 和 k(1≤n≤100;1≤k≤100)——数组的长度和整数 k。
每组测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤100)——数组 a 的元素。
输出格式
对于每组测试用例,如果第一名玩家不可能获胜,输出 “NO”。
否则,输出 “YES”,并在下一行输出一个合适的下标 1≤i≤n。如果有多个解,输出其中任意一个即可。
你可以以任意大小写输出每个字母(如 "yEs"、"yes"、"Yes" 和 "YES" 都会被识别为肯定答案)。
输入输出样例
输入#1
7 3 2 1 2 3 4 2 1 2 4 5 5 3 10 7 3 4 5 5 3 1 31 15 55 36 2 1 17 17 2 2 17 18 1 3 6
输出#1
YES 2 NO YES 3 NO NO YES 2 YES 1
说明/提示
在第一个测试用例中,第一名玩家可以选择 a2=2。此时:
- 如果第二名玩家选择 a1=1,则差值为 ∣2−1∣=1,不能被 k=2 整除。
- 如果第二名玩家选择 a3=3,则差值为 ∣2−3∣=1,不能被 k=2 整除。
在第二个测试用例中:
- 如果第一名玩家选择 a1=1,第二名玩家选择 a4=5,则差值为 ∣1−5∣=4,可以被 k=2 整除。
- 如果第一名玩家选择 a2=2,第二名玩家选择 a3=4,则差值为 ∣2−4∣=2,可以被 k=2 整除。
- 如果第一名玩家选择 a3=4,第二名玩家选择 a2=2,则差值为 ∣4−2∣=2,可以被 k=2 整除。
- 如果第一名玩家选择 a4=5,第二名玩家选择 a1=1,则差值为 ∣5−1∣=4,可以被 k=2 整除。
无论如何,第二名玩家都会获胜。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?