题意:
输入数组s长度n,数组中至少有k种不同的数,求让数组s各相连子串和种数最少的排列之一。
题解:
从0开始用,0,1,-1,2,-2……最后用0补齐。
s没赋0,wa到死。
#include<cstdio>
using namespace std;
const int N=500+5;
int main()
{
int m,n;
while(scanf("%d%d",&m,&n)!=EOF){
int s[N]={0},k=0;
for(int i=0;i<n;i++){
if(i%2)s[i]=k;
else s[i]=-(k++);
}
for(int i=0;i<m;i++){
if(i)putchar(' ');
printf("%d",s[i]);
}
putchar('\n');
}
}