CF1225G.To Make 1
NOI/NOI+/CTSC
通过率:0%
时间限制:2.00s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
There are n positive integers written on the blackboard. Also, a positive number k≥2 is chosen, and none of the numbers on the blackboard are divisible by k. In one operation, you can choose any two integers x and y, erase them and write one extra number f(x+y), where f(x) is equal to x if x is not divisible by k, otherwise f(x)=f(x/k).
In the end, there will be a single number of the blackboard. Is it possible to make the final number equal to 1? If so, restore any sequence of operations to do so.
黑板上写着 n 个正整数。此外,选定一个正整数 k≥2,且黑板上的所有数均不被 k 整除。每次操作中,你可以任选两个整数 x 和 y,将它们擦除,并额外写下数字 f(x+y),其中函数 f(x) 定义如下:若 x 不被 k 整除,则 f(x)=x;否则(即 x 被 k 整除),f(x)=f(x/k)。
最终,黑板上将仅剩一个数。能否通过若干次操作使得该最终数恰好等于 1?若可以,请还原出任意一种可行的操作序列。
输入格式
The first line contains two integers n and k — the initial number of integers on the blackboard, and the chosen number (2≤n≤16, 2≤k≤2000).
The second line contains n positive integers a1,…,an initially written on the blackboard. It is guaranteed that none of the numbers ai is divisible by k, and the sum of all ai does not exceed 2000.
第一行包含两个整数 n 和 k —— 黑板上初始的整数个数,以及选定的数(2≤n≤16,2≤k≤2000)。
第二行包含 n 个正整数 a1,…,an,它们初始写在黑板上。保证每个数 ai 均不能被 k 整除,且所有 ai 的总和不超过 2000。
输出格式
If it is impossible to obtain 1 as the final number, print "NO" in the only line.
Otherwise, print "YES" on the first line, followed by n−1 lines describing operations. The i-th of these lines has to contain two integers xi and yi to be erased and replaced with f(xi+yi) on the i-th operation. If there are several suitable ways, output any of them.
如果无法得到最终数字 1,则在唯一一行中输出 "NO"。
否则,在第一行输出 "YES",随后输出 n−1 行,每行描述一次操作。其中第 i 行需包含两个整数 xi 和 yi,表示在第 i 次操作中将它们擦除并替换为 f(xi+yi)。若存在多种可行方案,输出任意一种即可。
输入输出样例
输入#1
2 2 1 1
输出#1
YES 1 1
输入#2
4 3 7 8 13 23
输出#2
YES 23 13 8 7 5 4
输入#3
3 4 1 2 3
输出#3
NO
说明/提示
In the second sample case:
- f(8+7)=f(15)=f(5)=5;
- f(23+13)=f(36)=f(12)=f(4)=4;
- f(5+4)=f(9)=f(3)=f(1)=1.
在第二个样例中:
- f(8+7)=f(15)=f(5)=5;
- f(23+13)=f(36)=f(12)=f(4)=4;
- f(5+4)=f(9)=f(3)=f(1)=1。
输入解题思路,AI测评打分。不知道怎么写?