Если друзья могут пройти все уровни вместе, выведите «I become the guy.» - Free Pascal
Формулировка задачи:
Помогите решить задачу:
Есть такая игра под названием «I Wanna Be the Guy», в ней n уровней. Little X и его друг Little Y подсели на эту игру. Каждый из них хочет пройти игру полностью.
Little X может пройти только p уровней этой игры. А Little Y может пройти только q уровней этой игры. Вам даны номера уровней, которые может пройти Little X, и номера уровней, которые может пройти Little Y. Могут ли Little X и Little Y пройти игру полностью, если объединят свои усилия?
Входные данные
В первой строке записано единственное целое число n (1 ≤ n ≤ 100). В следующей строке сначала записано целое число p (0 ≤ p ≤ n), затем следуют p различных целых чисел a1, a2, ..., ap (1 ≤ ai ≤ n). Эти числа обозначают номера уровней, которые может пройти Little X. В следующей строке содержатся номера уровней, которые может пройти Little Y, в аналогичном формате. Предполагается, что уровни пронумерованы от 1 до n.Выходные данные
Если друзья могут пройти все уровни вместе, выведите «I become the guy.». Если это невозможно, выведите «Oh, my keyboard!» (без кавычек).Примеры тестов
входные данные
4 3 1 2 3 2 2 4выходные данные
I become the guy.входные данные
4 3 1 2 3 2 2 3выходные данные
Oh, my keyboard!Примечание
В первом примере Little X может пройти уровни [1 2 3], а Little Y может пройти уровни [2 4], так что вместе ребята могут пройти все уровни. Во втором примере никто не может пройти уровень 4.Решение задачи: «Если друзья могут пройти все уровни вместе, выведите «I become the guy.»»
textual
Листинг программы
var n,p,q,a,i:byte; s,ps,qs:set of byte; begin read(n); s:=[1..n]; read(p); ps:=[]; for i:=1 to p do begin read(a); ps:=ps+[a]; end; read(q); qs:=[]; for i:=1 to q do begin read(a); qs:=qs+[a]; end; if s-ps-qs=[] then Writeln('I become the guy.') else Write('Oh, my keyboard!'); end.
Объяснение кода листинга программы
- Вначале объявляются переменные: n, p, q, a, i (1..5) типа byte.
- Затем объявляются наборы (sets) s, ps, qs.
- Переменная n инициализируется значением из файла стандартного ввода.
- Значение переменной n добавляется во все три набора.
- Переменная p инициализируется значением из файла стандартного ввода.
- В цикле от 1 до p считывается значение переменной a и добавляется во второй набор ps.
- Переменная q инициализируется значением из файла стандартного ввода.
- В цикле от 1 до q считывается значение переменной a и добавляется в третий набор qs.
- Выполняется проверка: если разница между наборами s и (ps U qs) пустая, то выводится сообщение 'I become the guy.'.
- В противном случае выводится сообщение 'Oh, my keyboard!'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д