Блог пользователя PavelKunyavskiy

Автор PavelKunyavskiy, 15 лет назад, По-русски
Задача Div2-A. Аккорд.
Нужно понять первым делом простую мысль - ноты по сути являются остатками по модулю 12. А значит минорный аккорд имеет вид {x, x+3, x+7} (mod 12), а мажорный - {x, x+4, x+7}.

Считывать ноты удобно как строки, после чего их лучше тут же заменить на соответствующее число от 0 до 11 - их номером. Для обработки надо было перебрать 6 возможных порядков следования нот в аккорде. Для каждого из 6 порядков проверить, является ли аккорд мажорным или минорным, и если так, то сразу вывести.

Не бывает одновременно минорного и мажорного аккорда - это проверяется перебором шести возможных систем сравнений.



Задача Div2-B. Клавиатура.
Для каждой из букв алфавита в двух вариантах - заглавном и строчном - последовательно проверяем, можно ли ее напечатать одной рукой, если нет, то печатается ли она двумя руками, или же вообще никаким количеством рук не печатается :-)
Для проверки рассматриваем несколько случаев.
Если буква маленькая, то надо просто проверить, есть ли такая буква на клавиатуре, и если нет, то она не печатается.
Если буква большая, то надо проверить для каждой клавиши с соответствующей буквой, если ли поблизости Shift, просто перебрав все пары кнопок на клавиатуре.
Если такой буквы нет ни одной, или нет ни одного Shift, то такая буква тоже не печатается.
Если же такая пара нашлась, но на слишком большом расстоянии, то для набора этой буквы требуется вторая рука.
Просуммируем по всем буквам текста количество рук, требуемых для набора, и вывалимся с -1, если какая-то буква не набирается ну вот совсем. Сложность - |T| + 52 * (n· m)2, и этого вполне достаточно.
Разбор задач Codeforces Beta Round 73 (Div. 2 Only)
  • Проголосовать: нравится
  • +11
  • Проголосовать: не нравится

15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
In Div-2 Problem B , why doesn't current position of our hand plays a role in determining the final answer.
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
Now I understood the solution.
And thanks for the good contest.
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
А в задаче Div2-B кнопки (кроме Shift) могут повторяться?