Порівняння послідовностей
Будемо умовно називати дві послідовності:
• 1-однаковими, якщо вони однакові у звичайному смислі (мають однакову довжину n і a[1]=b[1]
, a[2]=b[2]
, …, a[n]=b[n]
).
• 0.5-однаковими, якщо вони не є 1-однаковими, але мають однакову довжину n і кожну з них можна отримати з іншої переставляннями елементів (при збереженні кількостей).
• 0.25-однаковими, якщо вони не є ні 1-однаковими, ні 0.5-однаковими, але при ігноруванні кількостей однакових елементів виявляється, що набір елементів однієї послідовності рівний набору елементів іншої послідовності. Іншими словами, деякі з елементів повторюються у різних послідовностях різну кількість разів, наприклад: якийсь один елемент зустрічається в першій послідовності тричі, у другій двічі, а якийсь інший зустрічається у першій послідовності лише один раз, а у другій сім разів. Елементи при цьому можна переставляти місцями.
• 0.125 - однаковими, якщо вони не є ні 1-однаковими, ні 0.5-однаковими, ні 0.25-однаковими, і при цьому набір елементів якоїсь однієї з послідовностей є підмножиною набору елементів іншої послідовності (елементи можна переставляти місцями, кількості повторів ні на що не впливають). Класичне означення підмножини таке: множина A є підмножиною множини B, коли кожен елемент A належить також і B; при цьому B може містити додаткові елементи, яких нема в A.
• 0 - однаковими, якщо не виконується жодна з вищезгаданих умов.Напишіть програму, яка проаналізує пару послідовностей і видасть одне з чисел 1, 0.5, 0.25, 0.125 або 0 згідно перелічених означень ступенів однаковості.
Вхідні дані
Перший рядок містить кількість елементів n[1]
у першій з двох послідовностей. Другий рядок містить n[1]
чисел — елементи послідовності. Третій та четвертий рядки аналогічним чином задають другу послідовність. Кількості елементів у кожній з послідовностей — від 1 до 123456. Значення елементів поміщаються у 32 - бітовий знаковий цілий тип.
Вихідні дані
Програма має вивести єдине число (1, або 0.5, або 0.25, або 0.125, або 0) — ступінь однаковості цих послідовностей.