CodeForces - 359BPermutation

xiaoxiao2021-02-28  120

                          CodeForces - 359B  Permutation 

    题意:输入n与k,2k <= n,输出2*n个数,每个数都不相同且<=2*N,满足   思路:首先我们看k=0这种情况,当2,1,4,3.......2*n,2*n-1,满足k=0时,且两个式子的值都为n, 把这些数分为n对,如果交换其中一对的位置,前一个式子的值不变,后一个式子的值减小了2,所以插值就变为了2,所以我们只要交换k对数,第二个式子的值为n-2k, 差值就变为2*k。 #include<iostream> using namespace std; int main(void) { int n,k; cin>>n>>k; int flag=0; for(int i=1;i<=k;i++) { if(!flag) cout<<2*i-1<<" "<<2*i; else cout<<" "<<2*i-1<<" "<<2*i; flag=1; } for(int i=k+1;i<=n;i++) { if(!flag) cout<<2*i<<" "<<2*i-1; else cout<<" "<<2*i<<" "<<2*i-1; flag=1; } return 0; }
转载请注明原文地址: https://www.6miu.com/read-20187.html

最新回复(0)