2020-2021 ACM-ICPC, Asia Nanjing Regional Contest (XXI Open Cup, Grand Prix of Nanjing) ——K签到

题目链接

思路

首先我们知道 g c d ( i , i + 1 ) = 1 ( 1 ≤ i ) gcd(i,i+1)=1(1\leq i) gcd(i,i+1)=11i, 恒成立。 那么题目要求要有k个共素,例如1,2,3,4,5 ,k=3,我们直接把1放在位置k上,然后2,3前移,即可2,3,1,4,5
注意 g c d ( 1 , i ) = 1 gcd(1,i)=1 gcd(1,i)=1,所以 k k k至少为1

代码

#include<bits/stdc++.h>

using namespace std;

int main()
{
	int n,k;
	cin>>n>>k;
	int x=2;
	if(k==0) 
	{
		puts("-1");
		return 0;
	} 
	for(int i=1; i<=n; i++)
	{
		if(i==k) printf("1 ");
		else printf("%d ",x++);
	}
	
	
	return 0;
}
posted @ 2022-08-28 08:43  翔村亲亲鸟  阅读(50)  评论(0编辑  收藏  举报