#luoguP6250. 分拆
分拆
Cannot parse: (0 , import_utils.normalizeSubtasks) is not a function or its return value is not iterable
题目背景
小 W 喜欢分拆。
题目描述
小 W 定义了一种「良好的分拆」:
对于正整数 ,如果存在 个整数 使得 ,那么称 是「良好的」,而 是 的一个「良好的分拆」。
现在,小 W 给了你一些 ,他希望你求出这些 分别是不是「良好的」。如果是良好的,请任意输出一个 的「良好的分拆」。
输入格式
第一行一个整数 ,表示数据组数。
接下来 行,每行一个整数 ,表示小 W 的一个询问。
输出格式
对于每组数据,输出若干行。
如果 不是「良好的」,那么仅输出一行 NO;
否则,第一行输出 YES,接下来一行一个数 ,表示你的「良好的分拆」中有多少种不同的数,接下来 行,每行两个数 ,表示有 个 。
3
1
2
5
YES
1
1 1
NO
YES
3
1 5
2 1
2 -1
提示
样例解释
时, 是 的一个「良好的分拆」;
时, 没有「良好的分拆」;
时,$5+1+1+(-1)+(-1)=5\times1\times1\times(-1)\times(-1)=5$,所以 是 的一个「良好的分拆」。
数据范围
本题不捆绑测试。
:;
:;
:。
对于所有数据,。
说明
本题带有 。
某个测试点获得满分,当且仅当对于这个测试点的所有 组数据,有:
- 第一行的答案相同。
- 如果第一行的答案为
YES,则还要满足 ,,。
为了便于 的编写,允许有的 相同,同时请确保在输出文件末尾有且仅有一个换行。
源码请到云剪贴板查看。