407. Обмен

 

В рождественский вечер на окошке стояло три цветочка, слева на право: герань, крокус и фиалка. Каждое утро Маша вытирала окошко и меняла местами стоящий справа цветок с центральным цветком. А Таня каждый вечер поливала цветочки и меняла местами левый и центральный цветок. Требуется определить порядок цветов ночью по прошествии k дней.

 

Вход. Первая строка содержит количество тестов  m (1 ≤ m ≤ 12). В каждой из следующих m строк находится количество дней k (1 ≤ k ≤ 1000).

 

Выход. Вывести m строк, содержащих по три латинских буквы: "G", "C" и "V" (заглавные буквы без пробелов), описывающие порядок цветов на окошке по истечении k дней (слева направо). Обозначения: G – герань, C – крокус, V – фиалка.

 

Пример входа

Пример выхода

2

1

5

VGC

CVG

 

 

РЕШЕНИЕ

условный оператор

 

Анализ алгоритма

Изначально на окне цветы стоят в порядке GCV (герань, крокус и фиалка). После первого дня порядок цветов изменится на VGC (фиалка, герань и крокус). После второго дня цветы будут находиться в последовательности CVG (крокус, фиалка и герань). В конце третьего дня порядок цветков будет таким же, как и в начале первого дня. Далее последовательность перестановок цветов будет повторяться. Таким образом, ответ на задачу будет следующим:

·        Если k делится на 3, то цветы будут находиться в порядке GCV.

·        Если остаток от деления k на 3 равен 1, то цветы будут находиться в порядке VGC.

·        Если остаток от деления k на 3 равен 2, то цветы будут находиться в порядке CVG.

 

Реализация алгоритма

Читаем входные данные и выводим перестановку цветов в зависимости от остатка от деления количества дней k на 3.

 

scanf("%d",&n);

while(n--)

{

  scanf("%d",&a);

  if (a % 3 == 0) puts("GCV"); else

  if (a % 3 == 1) puts("VGC"); else puts("CVG");

}

 

Java реализация

 

import java.util.*;

 

public class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    int n = con.nextInt();

    while(n-- > 0)

    {

      int a = con.nextInt();

      if (a % 3 == 0) System.out.println("GCV"); else

      if (a % 3 == 1) System.out.println("VGC"); else

                      System.out.println("CVG");

    }

    con.close();

  }

}