У цьому завданні вам надане розв'язання задачі Кліки.
Це розв'язання не отримує статусу Accepted, проте працює з часовою складністю O(2^N).
// i - поточна вершина, p - поточна множина вершин
long long go(int i, long long p) {
if (p == 0) // якщо множина p порожня
return 1;
counter++; // час виконання програми
while (((p >> i) & 1) == 0) // чи належить вершина i множині p
i++;
p ^= 1LL << i; // виключити вершину i із множини p
if ((p & c[i]) == p) // c[i] - множина вершин, з'єднаних з i ребром
return 2 * go(i, p); // p & c[i] - перетин множин p і c[i]
return go(i, p) + go(i, p & c[i]);
}
counter = 0; // скинути час виконання програми
result = go(0, (1LL << n) - 1); // почати з множини всіх вершинВаше завдання — створити тест, на якому це розв'язання не вкладеться у Time Limit. Час виконання програми визначається значенням змінної counter.
Число — кількість вершин у графі, який потрібно сконструювати.
Усього у задачі тести.
У першому тесті N = 20. У цьому тесті змінна counter наприкінці виконання програми має бути не меншою за .
У другому тесті N = 40. У цьому тесті змінна counter наприкінці виконання програми має бути не меншою за .
Виведіть тест. Тест має відповідати формату вхідних даних задачі Кліки.
Приклад 1