codeforces 483C.Diverse Permutation 解题报告
2024-09-20 08:00:14
题目链接: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 ;
}
最新文章
- 原生js实现tab选项卡
- linux简单配置
- 谋哥:App自推广这个概念就由我来创立了!
- APK ubuntu下 数字签名
- StreamWriter(ms, new UTF8Encoding(false))可以达到不输出BOM的需求。
- linux卸载rpm包
- 浓缩的才是精华:浅析GIF格式图片的存储和压缩
- MySQL中char与varchar区别,varchar最大长度是多少?
- Go语言备忘录:基本数据结构
- POJ 2826 An Easy Problem?![线段]
- Beta冲刺NO.6
- UNIX网络编程——TCP回射服务器/客户端程序
- 1259 整数划分 V2
- js中 变量的解构赋值
- PAT L2-012 关于堆的判断
- Centos7编译hadoop异常:Received fatal alert: handshake_failure
- keepalived 做全端口映射
- c++刷题(30/100)
- php编写TCP服务端和客户端程序
- jmeter no-gui模式动态传递场景参数
热门文章
- Java的多线程机制系列:(四)不得不提的volatile及指令重排序(happen-before)
- USACO 3.2 kimbits DP
- [转]ubuntu安装光盘修复grub-rescue引导失败问题
- 如何配置Filter过滤器处理JSP中文乱码
- 安卓系统源码编译系列(六)——单独编译内置浏览器WebView教程
- CentOS 配置hadoop
- Swift定义单例
- centOS6.4 extundelete工具恢复rm -rf 删除的目录
- 利用ADSL拨号上网方式如何搭建服务器
- Mac SVN <;CornerStone>;的安装和配置