题目描述
Roundgod is given n, k, construct a permutation of
satisfying that for all integers
in
, there exists a contiguous subarray in
of length
whose sum is kk modulo nn. If there are multiple solutions, print any of them. If there is no solution, print "-1" in one line.
输入描述
The first line contains two integers ,
.
输出描述
Print integers, the answer permutation in one line if such permutation exists, or print "-1" in one line if no solution exists.
示例1
输入
2 1
输出
1 2
说明
The sum of subintervals both satisfy
, and their lengths are
respectively.
示例2
输入
3 1
输出
-1
分析
,
存在子列满足,子列各个元素的和与
模
同余;当
时,子列的和为
,故
。
当 为奇数,若
,则有解;令
即可。
当 为偶数,若
,则有解;令
即可。
代码
/******************************************************************
Copyright: 11D_Beyonder All Rights Reserved
Author: 11D_Beyonder
Problem ID: 2020牛客暑期多校训练营(第五场) Problem E
Date: 8/24/2020
Description: Construction
*******************************************************************/
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
int n,k;
cin>>n>>k;
if(n&1){
if(!k){
cout<<n;
for(register int i=1;i<=n/2;i++){
printf(" %d %d",i,n-i);
}
putchar('\n');
}else{
puts("-1");
}
}else{
if(k==n/2){
cout<<n<<' '<<n/2;
for(register int i=1;i<n/2;i++){
printf(" %d %d",i,n-i);
}
putchar('\n');
}else{
puts("-1");
}
}
return 0;
} 
京公网安备 11010502036488号