zoukankan      html  css  js  c++  java
  • 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;
    }
    



  • 相关阅读:
    学生数据增删改查--顺序表
    应用3+2mvc第一次作业
    双色球随机选【代码】
    字符串穷举
    使用nuget发布自己的包
    VS CODE中配置JAVA格式化细节
    反射的理解(含一点xml)
    UdpClient实现udp消息收发
    c#背包问题代码
    利用TcpClient,简单的tcp消息收发
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7283069.html
Copyright © 2011-2022 走看看