题意:1-n的排列,求相邻值的差值有K种的排列
解:构造
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int n,k;
while(scanf("%d%d",&n,&k)!=EOF)
{
for(int i=1;i<=n-k;i++)
{
printf("%d ",i);
}
int x=n-k+1;
while(x<=n)
{
printf("%d ",n--);
if(x<=n)
printf("%d ",x++);
else
break;
}
printf("\n");
}
return 0;
}