Test məsələsi haqqında Kliklər#1879

Test məsələsi haqqında Kliklər

1 saniyə
64 meqabayt
Orta

Bu tapşırıqda sizə Kliklər problemi üçün bir həll verilir.

Bu həll Accepted statusunu əldə etmir, lakin işləmə vaxtı \mathbf{O}(2^N)-dir.

"'cpp // i - hazırkı zirvə, p - hazırkı zirvələr çoxluğu long long go(int i, long long p) if (p == 0) // əgər p çoxluğu boşdursa return 1; counter++; // proqramın işləmə müddəti while (((p » i) 1) == 0) // zirvə i p çoxluğundadırmı i++; p ^= 1LL « i; // i zirvəsini p çoxluğundan çıxarırıq if ((p c[i]) == p) // c[i] - i zirvəsi ilə kənar vasitəsilə birləşən zirvələr çoxluğu return 2 * go(i, p); // p c[i] - p və c[i] çoxluqlarının kəsişməsi return go(i, p) + go(i, p c[i]); counter = 0; // proqramın işləmə vaxtını sıfırla result = go(0, (1LL « n) - 1); // bütün zirvələr çoxluğundan başla "'

Sizin vəzifəniz bu həllin Time Limit daxilində yekunlaşmayacağı bir test yaratmaqdır. Proqramın icra vaxtı counter dəyişəni ilə müəyyən olunur.

Giriş

ədədi — qurmağınız gərəkən qrafın zirvələrinin sayı.

Bu tapşırıqda cəmi test var.

Birinci testdə N = 20-dir. Bu testdə proqramın sonunda counter dəyişəninin dəyəri azı olmalıdır.

İkinci testdə N = 40-dır. Bu testdə proqramın sonunda counter dəyişəninin dəyəri azı olmalıdır.

Çıxış

Testi çap edin. Test Kliklər probleminin giriş formatına uyğun olmalıdır.

Nümunələr

Nümunə 1

Loading
Loading