eolymp
bolt
Try our new interface for solving problems
Məsələlər

Порівняння послідовностей

Порівняння послідовностей

Будемо умовно називати дві послідовності:

1-однаковими, якщо вони однакові у звичайному смислі (мають однакову довжину n і a1=b1, a2=b2, …, an=bn).

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 згідно перелічених означень ступенів однаковості.

Вхідні дані:

Перший рядок містить кількість елементів n1 у першій з двох послідовностей. Другий рядок містить n1 чисел — елементи послідовності. Третій та четвертий рядки аналогічним чином задають другу послідовність. Кількості елементів у кожній з послідовностей — від 1 до 123456. Значення елементів поміщаються у 32 - бітовий знаковий цілий тип.

Вихідні дані:

Програма має вивести єдине число (1, або 0.5, або 0.25, або 0.125, або 0) — ступінь однаковості цих послідовностей.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 4 MiB
Giriş verilənləri #1
3
1 4 2
3
1 4 2
Çıxış verilənləri #1
1
Giriş verilənləri #2
4
7 42 17 3
4
3 7 17 42
Çıxış verilənləri #2
0.5
Giriş verilənləri #3
5
4 4 7 7 7
3
4 7 4
Çıxış verilənləri #3
0.25
Giriş verilənləri #4
7
7 7 7 7 7 7 7
3
7 17 42
Çıxış verilənləri #4
0.125
Giriş verilənləri #5
4
3 17 24 42
4
3 17 33 42
Çıxış verilənləri #5
0