CF 482A (Diverse Permutation-1 ~ adjacent to different numbers of k ~ N fully arranged structure), 482apermutation-
A. Diverse Permutationtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard output
PermutationPIs an ordered set of integersP1, too many connections,P2, please wait..., please wait again ,...,PN, ConsistingNDistinct positive integers not largerN. We'll denoteNThe length of permutationP1, too many connections,P2, please wait..., please wait again ,...,PN.
Your task is to find such permutationPOf lengthN, That the group of numbers |P1 bytes-elapsed-P2 |, bytes |P2 bytes-elapsed-P3 |, large..., large |PNAccept-ranges 1 accept-ranges-PN| Has exactlyKDistinct elements.
Input
The single line of the input contains two space-separated positive integersN,K(1 digit ≤ DigitKLatency <latencyNLimit ≤ limit 105 ).
Output
PrintNIntegers forming the permutation. If there are multiple answers, print any of them.
Sample test (s) input
3 2
Output
1 3 2
Input
3 1
Output
1 2 3
Input
5 2
Output
1 3 2 4 5
Note
By |X| We denote the absolute value of numberX.
1 10 2 9 3 8 | 7 6 5 4 3 2
Different... 1 for all
#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<functional>#include<iostream>#include<cmath>#include<cctype>#include<ctime>using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define Rep(i,n) for(int i=0;i<n;i++)#define ForD(i,n) for(int i=n;i;i--)#define RepD(i,n) for(int i=n;i>=0;i--)#define Forp(x) for(int p=pre[x];p;p=next[p])#define Forpiter(x) for(int &p=iter[x];p;p=next[p]) #define Lson (x<<1)#define Rson ((x<<1)+1)#define MEM(a) memset(a,0,sizeof(a));#define MEMI(a) memset(a,127,sizeof(a));#define MEMi(a) memset(a,128,sizeof(a));#define INF (2139062143)#define F (100000007)#define MAXN (100000+10)#define MAXK (100000+10)long long mul(long long a,long long b){return (a*b)%F;}long long add(long long a,long long b){return (a+b)%F;}long long sub(long long a,long long b){return (a-b+(a-b)/F*F+F)%F;}typedef long long ll;int n,k;int main(){//freopen("CF482A.in","r",stdin);//freopen(".out","w",stdout);cin>>n>>k;k--;int l=1,r=n,b=1;while(l<=r){if (b) printf("%d",l++);else printf("%d",r--);if (k) b^=1,k--; if (l<=r) putchar(' ');}cout<<endl;return 0;}