【NOIP2017提高A组模拟9.12】Arrays and Palindrome
【NOIP2017提高A组模拟9.12】Arrays and Palindrome[SPJ]
题目
Description

Input

Output

Sample Input
1
6
Sample Output
6
2
1 5
Data Constraint

题解
题意
em……语言组织能力不行,看题吧
题解
结论题
可以证得\(A\)里最多只有2个奇数,否则无解
分情况讨论
0个奇数:\(a\)就是\(A\),\(b\)是\(A_1+1,A_2...A_{n-1},A_n-1\)
1个奇数:
\(a\):奇数放后面,其余不变
\(b\): 同上,第一个+1,最后一个-1
2个奇数:
\(a\):一个奇数放前面,一个放后面,其余不变
\(b\):同上,第一个+1,最后一个-1,如果最后一个是1的话就不输出
特判\(n=1\)
Code
#include<cstdio>
using namespace std;
int n,t,a[100001],c[100001];
int main()
{
freopen("b.in","r",stdin);
freopen("b.out","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;++i)
scanf("%d",&a[i]);
if (n==1) printf("%d\n",a[1]),printf("2\n"),printf("%d %d\n",1,a[1]-1);
else
{
for (int i=1;i<=n;++i)
if (a[i]&1)
c[++t]=a[i];
for (int i=1;i<=n;++i)
if (!(a[i]&1))
c[++t]=a[i];
for (int i=2;i<=n;++i)
printf("%d ",c[i]);
printf("%d\n",c[1]);
if (c[1]==1) printf("%d\n",n-1);
else printf("%d\n",n);
printf("%d ",c[2]+1);
for (int i=3;i<n;++i)
printf("%d ",c[i]);
if (c[1]==1) printf("%d\n",c[n]-1);
else printf("%d %d\n",c[n],c[1]-1);
}
fclose(stdin);
fclose(stdout);
return 0;
}
【NOIP2017提高A组模拟9.12】Arrays and Palindrome的更多相关文章
- JZOJ5358【NOIP2017提高A组模拟9.12】BBQ
题目 分析 发现,\(C_{ai+aj+bi+bj}^{ai+aj}\),其实就等于从(0,0)走最短路到(ai+aj,bi+bj). 我们可以想办法将i.j分开,从(0,0)走最短路到(ai+aj, ...
- 【NOIP2017提高A组模拟9.17】猫
[NOIP2017提高A组模拟9.17]猫 题目 Description 信息组最近猫成灾了! 隔壁物理组也拿猫没办法. 信息组组长只好去请神刀手来帮他们消灭猫.信息组现在共有n 只猫(n 为正整数) ...
- 【NOIP2017提高A组模拟9.17】组合数问题
[NOIP2017提高A组模拟9.17]组合数问题 题目 Description 定义"组合数"S(n,m)代表将n 个不同的元素拆分成m 个非空集合的方案数. 举个例子,将{1,2,3}拆分成2 个 ...
- JZOJ 100029. 【NOIP2017提高A组模拟7.8】陪审团
100029. [NOIP2017提高A组模拟7.8]陪审团 Time Limits: 1000 ms Memory Limits: 131072 KB Detailed Limits Got ...
- JZOJ 5328. 【NOIP2017提高A组模拟8.22】世界线
5328. [NOIP2017提高A组模拟8.22]世界线 (File IO): input:worldline.in output:worldline.out Time Limits: 1500 m ...
- JZOJ 5329. 【NOIP2017提高A组模拟8.22】时间机器
5329. [NOIP2017提高A组模拟8.22]时间机器 (File IO): input:machine.in output:machine.out Time Limits: 2000 ms M ...
- JZOJ 5307. 【NOIP2017提高A组模拟8.18】偷窃 (Standard IO)
5307. [NOIP2017提高A组模拟8.18]偷窃 (Standard IO) Time Limits: 1000 ms Memory Limits: 262144 KB Description ...
- JZOJ 5286. 【NOIP2017提高A组模拟8.16】花花的森林 (Standard IO)
5286. [NOIP2017提高A组模拟8.16]花花的森林 (Standard IO) Time Limits: 1000 ms Memory Limits: 131072 KB Descript ...
- JZOJ 5305. 【NOIP2017提高A组模拟8.18】C (Standard IO)
5305. [NOIP2017提高A组模拟8.18]C (Standard IO) Time Limits: 1000 ms Memory Limits: 131072 KB Description ...
随机推荐
- 微信小程序——【百景游戏小攻略】
微信小程序--[百景游戏小攻略] 本次课程小项目中的图片以及文章还未获得授权!请勿商用!未经授权,请勿转载! 博客班级 https://edu.cnblogs.com/campus/zjcsxy/SE ...
- html+canvas实现很真实的下雨雨落
原素材地址:http://www.htmlsucai.com/demo-9782.html <!DOCTYPE html> <html> <head> <me ...
- Typora设置Vue主题
平时看视频,发现好多老师使用 Typora 时,界面跟我的不一样,好看一些,后来查了下才知道老师使用了Vue主题,接下来我就记录下设置Vue主题的步骤吧 一.下载Vue主题 地址:http://the ...
- ASP.NET Core框架揭秘[博文汇总-持续更新]
第1部分 跨平台开发体验 1 跨平台开发体验 001 跨平台开发体验: Windows [上篇] 002 跨平台开发体验: Windows [中篇] 003 跨平台开发体 ...
- Python基本数据类型与数据结构(数据挖掘学习)
前言 最近工作和研究涉及到数据挖掘和机器学习,出于归纳和总结知识的目的写下这一系列的文章,这一系列文章将会包括Python的基本数据类型和数据结构,函数和面向对象相关的知识,然后会介绍数据挖掘和机器学 ...
- 重温Java泛型,带你更深入地理解它,更好的使用它!
1. 引言 jdk5.0中引入了Java泛型,目的是减少错误,并在类型上添加额外的抽象层. 本文将简要介绍Java中的泛型.泛型背后的目标以及如何使用泛型来提高代码的质量. 2. 为什么要用泛型? 设 ...
- 使用switch计算出某年某月某日是今年的第几天,输出一直是当月天数
package com.cx.Switch; import java.util.Scanner; /** * 计算出某年某月某日是今年的第几天 * 使用switch */ public class S ...
- python_udp_多人聊天室_简单版
udp-一定是client端先发送数据. server.py import socket friend_lst = {'alex':'32','太白':'33'} sk =socket.socket( ...
- 极客mysql16
1.MySQL会为每个线程分配一个内存(sort_buffer)用于排序该内存大小为sort_buffer_size 1>如果排序的数据量小于sort_buffer_size,排序将会在内存中完 ...
- uboot——初始化阶段
start.S |-------------设置cpu状态 |--------------开cache |--------------获得启动方式 |------------------------- ...