Untitled
unknown
plain_text
4 years ago
1.1 kB
67
Indexable
#include<stdio.h>
void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
void xuli(int *a, int n, int k)
{
if(n%2 == 1 && k != 0)
{
printf("-1");
}
else if(k == 0)
{
int i;
for(i = 1;i<=n;i++)
{
printf("%d ", a[i]);
}
}
else
{
int i;
if(k > n/2)
{
printf("-1");
}
else
{
int b[1000111] = {0};
for(i = 1;i<=n;i++)
{
if(b[i] == 0)
{
swap(&a[i], &a[i+k]);
b[i] = 1;
b[i+k] = 1;
}
}
for(i = 1;i<=n;i++)
{
printf("%d ", a[i]);
}
}
}
}
int main()
{
int n;
scanf("%d", &n);
int a[1000111];
int i;
a[0] = 0;
for(i = 1;i<=n;i++)
{
a[i] = i;
}
int k;
scanf("%d", &k);
xuli(a,n,k);
return 0;
}Editor is loading...