CF 359B

来源:互联网 发布:电信网络不稳定老掉线 编辑:程序博客网 时间:2024/05/22 08:08

给定n和k,2k ≤ n.

求一个长度为2n排列满足

.



http://codeforces.com/problemset/problem/359/B


假定一个排列1, 2,3, ..2n这样直接计算得到答案为0.

我们任意改变相邻的两个数2*i - 1, 2*i, 式子前半部分不会变,右边将会减少2.



所以我们改变k个这个的相邻对就可以了。

#include <iostream>using namespace std;int main(){    int n, k;    cin >> n >> k;    for(int i = 1; i <= k; i++) cout << 2 * i << " " << 2 * i - 1 << " ";    for(int i = k + 1; i <= n; i++ ) cout << 2 * i - 1 << " " << 2 * i << " ";    return 0;}


0 0