C. Diverse Permutation(Codeforces Round #275(div2)_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 11:55:40
原创
1151人浏览过

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 n, k (1?≤?k?

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个数1~n,每个数只能用一次,组成差值的绝对值有k个数,为1~k。输出任一个方案。

饭店住房管理服务系统(C#.NET)
饭店住房管理服务系统(C#.NET)

饭店住房管理服务系统(C#.NET)

饭店住房管理服务系统(C#.NET) 31
查看详情 饭店住房管理服务系统(C#.NET)

构造题,我是这样构造的,取前k+1个数,第一个数取1,先+k,后一个数-(k-1),在后一个数+k-2.......这样从两头往

中间靠拢,既取完了k+1个数,又构造了1~k的差值绝对值,至于k+1后的嘛,每次+1就行了。

代码:

#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int maxn=100000+1000;int ans[maxn];int main(){    int n,k;    ans[1]=1;    scanf("%d%d",&n,&k);    if(k==1)    {        for(int i=1;i<=n;i++)        ans[i]=i;    }    else    {      for(int i=2;i<=k+1;i++)      {        if(i%2)        ans[i]=ans[i-1]-(k-i+2);        else        ans[i]=ans[i-1]+(k-i+2);      }      int cur=1;      for(int i=k+2;i<=n;i++)      {          ans[i]=k+1+cur;          cur++;      }    }    for(int i=1;i<n;i++)    printf("%d ",ans[i]);    printf("%d\n",ans[n]);    return 0;}
登录后复制


HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号