标题不完全是骗你点进来的()
考虑下面这个问题:
给定正整数 w,构造 w 个 w2 进制下的 w 位数(允许前导零),满足所有数的每个数码都不一样,且这 w 个数呈 1:2:...:w 的比例关系。
(注意:它与三连击不同,此题的数码应在 0 到 w2−1 之间)
我们希望:
- 判断对于哪些 w,问题有解;
- 对于有解的 w,构造至少一组解;
- 对于有解的 w,找到所有解。
这里(提取码 0da7)记录了目前的(几乎)所有成果(这四个文件是我之前发给数竞同学的),另外:
- 文件里漏掉了 w=2 时 12:30=1:2 的解,我也不知道怎么漏的;
- w≤10 的情况已经暴力验证过,只有文件中给出的方法构造出的解(w=2 除外);暴力是用 Python 写的,用 C++ 可能能验证 w 更大的情况。