题目链接:http://codeforces.com/problemset/problem/483/C

题目意思:给出 n 和 k,要求输出一个含有 n 个数的排列 p1, p2, ...,pn,使得 |p1 - p2|, |p2 - p3|, ..., |pn - 1 - pn| 恰好有 k 个不同的数。注意,p1, p2, ..., pn 每个数是不相等的,而且不大于 n。

构造题,这个通过手动很容易知道答案。又献上我的恶心涂鸦~~~看完之后会发现其实很简单,好像比 B 还要简单。

只要红色的竖线前面满足不同的差值恰好有 k 个即可,上面的“+”“-” 是规律来的。竖线后面的差值是清一色等于 1 的。

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std; int main()
{
int n, k;
while (scanf("%d%d", &n, &k) != EOF)
{
if (k == )
{
for (int i = ; i <= n; i++)
printf("%d ", i);
printf("\n");
}
else
{
printf("");
int st = ;
int interval = k;
for (int i = ; i < k+; i++, interval--)
{
st += (i& ? interval : -interval);
printf(" %d", st);
}
for (int i = k+; i <= n; i++)
printf(" %d", i);
printf("\n");
}
}
return ;
}

最新文章

  1. 原生js实现tab选项卡
  2. linux简单配置
  3. 谋哥:App自推广这个概念就由我来创立了!
  4. APK ubuntu下 数字签名
  5. StreamWriter(ms, new UTF8Encoding(false))可以达到不输出BOM的需求。
  6. linux卸载rpm包
  7. 浓缩的才是精华:浅析GIF格式图片的存储和压缩
  8. MySQL中char与varchar区别,varchar最大长度是多少?
  9. Go语言备忘录:基本数据结构
  10. POJ 2826 An Easy Problem?![线段]
  11. Beta冲刺NO.6
  12. UNIX网络编程——TCP回射服务器/客户端程序
  13. 1259 整数划分 V2
  14. js中 变量的解构赋值
  15. PAT L2-012 关于堆的判断
  16. Centos7编译hadoop异常:Received fatal alert: handshake_failure
  17. keepalived 做全端口映射
  18. c++刷题(30/100)
  19. php编写TCP服务端和客户端程序
  20. jmeter no-gui模式动态传递场景参数

热门文章

  1. Java的多线程机制系列:(四)不得不提的volatile及指令重排序(happen-before)
  2. USACO 3.2 kimbits DP
  3. [转]ubuntu安装光盘修复grub-rescue引导失败问题
  4. 如何配置Filter过滤器处理JSP中文乱码
  5. 安卓系统源码编译系列(六)——单独编译内置浏览器WebView教程
  6. CentOS 配置hadoop
  7. Swift定义单例
  8. centOS6.4 extundelete工具恢复rm -rf 删除的目录
  9. 利用ADSL拨号上网方式如何搭建服务器
  10. Mac SVN &lt;CornerStone&gt;的安装和配置