zoukankan      html  css  js  c++  java
  • Codeforces Round #275(Div. 2)-C. Diverse Permutation

    http://codeforces.com/contest/483/problem/C

    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 nthe 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 nk (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.

    解题思路:形如1,n,2,n-1,3,n-2.....这样肯定是最优的,但题目要求你正好有k个不同的,那么可以构造出k-1个不同的之后根据k是否为偶数进行单调输出

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <stdlib.h>
     4 
     5 int main(){
     6     int i, k, n, left, right;
     7     while(scanf("%d %d", &n, &k) != EOF){
     8         left = 1; right = n;
     9         for(i = 1 ; i <= k; i++){
    10             if(i&1){
    11                 printf("%d ", left++);
    12             }
    13             else{
    14                 printf("%d ", right--);
    15             }
    16         }
    17         if(k&1){
    18             while(left < right){
    19                 printf("%d ", left++);
    20             }
    21             printf("%d ", left);
    22         }
    23         else{
    24             while(left < right){
    25                 printf("%d ", right--);
    26             }
    27             printf("%d ", right);
    28         }
    29     }
    30     return 0;

    31 } 

  • 相关阅读:
    XMPP协议之消息回执解决方案
    使用js在网页上记录鼠标划圈的小程序
    数据库SQL,NoSQL之小感悟
    MongoDB安装与使用体验
    缓存遇到的数据过滤与分页问题
    Tomcat shutdown执行后无法退出进程问题排查及解决
    Apache Ignite之集群应用测试
    Ignite性能测试以及对redis的对比
    学习AOP之深入一点Spring Aop
    学习AOP之认识一下Spring AOP
  • 原文地址:https://www.cnblogs.com/angle-qqs/p/4063520.html
Copyright © 2011-2022 走看看