• codeforces C. Diverse Permutation




    C. Diverse Permutation
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Permutation p is an ordered set of integers p1,   p2,   ...,   pn, consisting of n distinct positive integers not larger than n. We'll denote as n the length of permutation p1,   p2,   ...,   pn.

    Your task is to find such permutation p of length n, that the group of numbers |p1 - p2|, |p2 - p3|, ..., |pn - 1 - pn| has exactly k distinct elements.

    Input

    The single line of the input contains two space-separated positive integers n, k (1 ≤ k < n ≤ 105).

    Output

    Print n integers 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 number x


    求n个数的序列,相邻两个数的绝对值的不同取值有k个 但详细哪k个数不限


    #include <iostream>
    #include <stdio.h>
    #include <string>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    #define N 100009
    using namespace std;
    int a[N];
    int vis[N];
    
    int main()
    {
        int n,k;
        while(~scanf("%d%d",&n,&k))
        {
            int t=n;
            int m=1;
    
            for(int i=1;i<=k;i+=2)
            {
                a[i]=m;
                m++;
            }
            for(int i=2;i<=k;i+=2)
            {
                a[i]=t;
                t--;
            }
    
            if(k%2==0)
            {
                for(int i=k+1;i<=n;i++)
                a[i]=a[i-1]-1;
            }
            else
            for(int i=k+1;i<=n;i++)
              a[i]=a[i-1]+1;
    
            for(int i=1;i<n;i++)
            cout<<a[i]<<" ";
            cout<<a[n]<<endl;
        }
        return 0;
    }
    



  • 相关阅读:
    第一次作业
    第0次作业—姚舜禹17-1
    第三周作业
    第二周作业
    第一周作业
    第零周作业
    第三周作业
    第二周作业
    第一周作业
    第0次作业
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7283069.html
Copyright © 2020-2023  润新知