Задача
У різдвяний вечір у віконці стояло три квіточки, зліва на право: герань, крокус та фіалка. Кожен ранок Маша витирала віконце і міняла містами стоявшу праворуч квіточку з центральною кввточкою. А Таня кожен вечір поливала квіточки і міняла місцями ліву та центральну квіточку. Потрібно визначити порядок квітів вночі після того, як пройде $k$ днів.
Вхідні дані
Перший рядок містить кількість тестів $t$ [latex](1 \leq t \leq 12)[/latex]. В кожному з наступних $t$ рядків знаходиться кількість днів $k$ [latex](k \leq 1000)[/latex].
Вихідні дані
Вивести $t$ рядків, що містять по три латинських літери: «G», «C» и «V» (великі літери без пропусків), які описують порядок квітів на вікні по закінченню $k$ днів (зліва направо). Позначення: G – герань, C – крокус, V – фіалка.
Тести
№ | Вхідні дані | Вихідні дані |
1 | 2 1 5 |
VGC CVG |
2 | 6 1 2 3 4 5 6 |
VGC CVG GCV VGC CVG GCV |
3 | 3 3 6 9 |
GCV GCV GCV |
Код програми
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <iostream> using namespace std; int main() { int n, day; cin >> n; while (n--) { cin >> day; if (day % 3 == 1) cout<<"VGC"<<endl; else if (day % 3 == 2) cout<<"CVG"<<endl; else cout<<"GCV"<<endl; } return 0; } |
Розв’язок
Якщо кожного вечора звертати увагу на те, як Маша і Таня міняють місцями квіти, то можна помітити, що їх перестановки періодично повторюються кожні три дні. Цим я скористався для розв’язку задачі. Достатньо лише задати ці три перестановки і брати залишок від ділення на три для визначення конкретної.
Владислав, вы назвали ссылку на код вашей задачи «ideone,com». Возможно, стоило бы заменить запятую на точку.
Дякую, виправив.