【codeforces 746B】 Decoding
来源:互联网 发布:废铁战士淘宝可靠吗 编辑:程序博客网 时间:2024/06/08 19:16
Polycarp is mad about coding, that is why he writes Sveta encoded messages. He calls the median letter in a word the letter which is in the middle of the word. If the word's length is even, the median letter is the left of the two middle letters. In the following examples, the median letter is highlighted: contest, info. If the word consists of single letter, then according to above definition this letter is the median letter.
Polycarp encodes each word in the following way: he writes down the median letter of the word, then deletes it and repeats the process until there are no letters left. For example, he encodes the word volga as logva.
You are given an encoding s of some word, your task is to decode it.
The first line contains a positive integer n (1 ≤ n ≤ 2000) — the length of the encoded word.
The second line contains the string s of length n consisting of lowercase English letters — the encoding.
Print the word that Polycarp encoded.
5logva
volga
2no
no
4abba
baba
In the first example Polycarp encoded the word volga. At first, he wrote down the letter l from the position 3, after that his word looked like voga. After that Polycarp wrote down the letter o from the position 2, his word became vga. Then Polycarp wrote down the letter g which was at the second position, the word became va. Then he wrote down the letter v, then the letter a. Thus, the encoding looked like logva.
In the second example Polycarp encoded the word no. He wrote down the letter n, the word became o, and he wrote down the letter o. Thus, in this example, the word and its encoding are the same.
In the third example Polycarp encoded the word baba. At first, he wrote down the letter a, which was at the position 2, after that the word looked like bba. Then he wrote down the letter b, which was at the position 2, his word looked like ba. After that he wrote down the letter b, which was at the position 1, the word looked like a, and he wrote down that letter a. Thus, the encoding is abba.
贪心,将新的字符串从后往前填入原字符串中,可知规律为后一前一
#include<iostream>#include<algorithm>#include<cmath>#include<cstring>using namespace std;int main(){ int n; while(cin>>n) { char ch[2005]; cin>>ch; char rch[2005]; for(int i = 0; i < 2005; i++) rch[i] = NULL; if(n % 2 != 0) { rch[n / 2] = ch[0]; int sign = n - 1; for(int i = 0; i < n / 2; i++) { rch[n - i - 1] = ch[sign--]; rch[i] = ch[sign--]; } } else { int sign = n - 1; for(int i = 0; i < n / 2; i++) { rch[n - i - 1] = ch[sign--]; rch[i] = ch[sign--]; } } for(int i = 0; i < n; i++) cout<<rch[i]; cout<<endl; } return 0;}
- CodeForces 746B Decoding
- 746 B. Decoding codeforces
- 【codeforces 746B】 Decoding
- CodeForces 746B Decoding
- 【Codeforces 746B Decoding】 + 构造
- codeforces 746 B. Decoding【水题】
- Codeforces #386 B 746B Decoding
- 【75.28%】【codeforces 764B】Decoding
- Codeforces Round #386 (Div. 2) 746B Decoding
- codeforces 746 Decoding
- 746B Decoding
- 【codeforces 747B】Mammoth's Genome Decoding
- CodeForces 747B Mammoth's Genome Decoding
- Codeforces Round #386 (Div. 2) B. Decoding
- Decoding CodeForces
- B. Decoding
- Codeforces Round #386(Div. 2)B. Decoding【模拟】
- 【58.33%】【codeforces 747B】Mammoth's Genome Decoding
- 数据分析(入门篇)-第三章-Show出你的数据-Part1(地图)
- 题目:输入两棵二叉树A和B,判断B是不是A的子结构。
- AnroidUI 底部导航
- 图邻接链表c语言实现 graph_adj_link.cpp
- cmake命令 安装、用法简介
- 【codeforces 746B】 Decoding
- 【Linux】ssh
- cmake命令 安装、用法简介
- MyBatis知识五 输入映射和输出映射
- 变态跳台阶
- android里序列化和反序列化的综合分析
- Android H.265硬解码&EasyPlayerPro
- NYOJ-诡异的电梯【Ⅰ】-(动态规划)
- HTML 表单4