Решение задачи Расшифровка с Codeforces

Без пояснения   Просмотров: 43


Поликарп без ума от шифрования, поэтому он пишет Свете сообщения в зашифрованном виде. Медианной буквой в слове он называет ту, которая находится в середине слова. Если слово четной длины, то медианная буква та, которая стоит левее из двух средних букв. Медианная буква выделена в следующих примерах: contest, info. Если слово состоит из одной буквы, то, по определению выше, она и будет его медианной буквой.

Поликарп шифрует каждое слово следующим образом: он выписывает медианную букву слова, затем удаляет эту букву из слова и повторяет процесс до тех пор, пока в слове есть хоть одна буква. Например, слово volga он зашифрует в слово logva.

Вам задано слово s, зашифрованное Поликарпом, а ваша задача — расшифровать его.

Код

#include<bits/stdc++.h>
using namespace std;
int n,j;
string s,t;
bool f;
int main()
{
	cin >> n >> s;
	t = s;
	j = (n - 1) / 2;
	f = n % 2;
	for(int i = 0; i < n; i++){
		j += ((f + f) - 1) * i;
		t[j] = s[i];
		f = !f;
	}
	cout << t;
	return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться