A. farmpiggie and Subset Sum(Codeforces 2246)

发布时间:2026/7/14 0:57:27
A. farmpiggie and Subset Sum(Codeforces 2246) A. farmpiggie and Subset Sum题意构造一个长度为偶数n的排列p使得无论对每个i选择-i*p_i、0或i*p_i最终和都不等于1。构造输出循环左移一位的排列2 3 4 ... n 1对于奇数下标inp_ii1是偶数in是偶数下标。因此每个乘积i*p_i都是偶数。任意带符号和仍为偶数不可能等于奇数1。index: 1 2 3 4 5 6 p: 2 3 4 5 6 1 i*p: 2 6 12 20 30 6 (全部为偶数)复杂度每个测试用例输出n个数时间O(n)额外空间O(1)。C17 实现#includebits/stdc.husingnamespacestd;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);intT;cinT;while(T--){intn;cinn;// p_i i 1 (1 i n), p_n 1。// 因为 n 为偶数所有 i * p_i 都是偶数。for(inti2;in;i){couti ;}cout1\n;}return0;}