您的位置:首页 > 其它

CodeForces - 359B Permutation

2017-08-31 09:14 337 查看

                                     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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CodeForces - 359B P