Codeforces Round #209 (Div. 2) B. Permutation

OpenSoucre發表於2014-03-15

解題思路:

如果序列a是單調遞增的,則序列為1,2,..... 2n,則將給出的式子化簡得Σ(a2i - a2i-1) = n

如果序列a是單調遞減的,則序列為2n,.........2, 1,則將給出的式子化簡得為0

故本題的解決方法是前面2k個序列即a1,a2......a2k是單調遞增的,後面的序列是單調遞減的

#include <iostream>
using namespace std;

int main(){
    int n , k;
    cin >> n >> k;
    bool flag = false;
    for(int i = 1; i <= 2*k; ++ i) {
        if(!flag) {cout<<i;flag = true;}
        else cout<<" "<<i;
    }
    for(int i = 2*n; i > 2*k; --i){
        if(!flag) {cout<<i;flag = true;}
        else cout<<" "<<i;
    }
    cout<<endl;
}

 

相關文章