CF2034E.Permutations Harmony
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Rayan 想要送 Reyhaneh 一份礼物以赢得她的芳心。然而,Reyhaneh 很挑剔,只会接受一个 k-和谐排列集。
我们定义 k-和谐排列集为一组 k 个两两不同的排列 p1,p2,…,pk,每个排列的长度为 n,满足对于任意的下标 i 和 j(1≤i,j≤n),都有:
p1[i]+p2[i]+…+pk[i]=p1[j]+p2[j]+…+pk[j]
你的任务是帮助 Rayan,对于给定的 n 和 k,要么给出一个合法的 k-和谐排列集,要么判断这样的集合不存在。
我们称长度为 n 的序列为排列,当且仅当它包含了 1 到 n 的所有整数且每个整数恰好出现一次。
输入格式
第一行包含一个整数 t(1≤t≤1000),表示测试用例的数量。
每个测试用例包含两个整数 n 和 k(1≤n,k≤105)。所有测试用例中 n⋅k 的总和不超过 5⋅105。
输出格式
对于每个测试用例,如果存在 k-和谐排列集,第一行输出 YES。接下来输出 k 行,每行包含一个 1 到 n 的不同排列。
如果不存在这样的集合,输出 NO。
你可以用任意大小写输出 "YES" 和 "NO"(例如 "yEs"、"yes"、"Yes" 都视为肯定回答)。
如果有多组合法答案,可以输出任意一组。
输入输出样例
输入#1
4 3 3 4 2 5 1 3 2
输出#1
YES 1 2 3 2 3 1 3 1 2 YES 1 2 3 4 4 3 2 1 NO YES 1 2 3 3 2 1
说明/提示
在样例 1 中,p1=[1,2,3],p2=[2,3,1],p3=[3,1,2]。很容易看出 p1[1]+p2[1]+p3[1]=p1[2]+p2[2]+p3[2]=p1[3]+p2[3]+p3[3]=6。
在样例 2 中,p1=[1,2,3,4],p2=[4,3,2,1]。很容易看出 p1[1]+p2[1]=p1[2]+p2[2]=p1[3]+p2[3]=p1[4]+p2[4]=5。
在样例 3 中,由于 p1 中有五个不同的元素,很明显答案是 "No"。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?