【思维】不同的和

URAL 2065 Different Sums

题意:

输入数组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');
    }
}

猜你喜欢

转载自blog.csdn.net/synlhr/article/details/81184667