Oyun#7762

Oyun

1 saniyə
128 meqabayt
Asan

Kiçik oğlan Can-Ci oyun oynamağı çox sevir. Ona sual verildikdə, sadə cavab vermək əvəzinə, oyun təklif edir.

Can-Ci dostu Mey-Yu ilə görüşdü və ona Tayvanda aviareyslər şəbəkəsinin necə qurulduğunu izah etdi. Xüsusilə, Tayvanda n şəhər var, bunlar 0-dan n - 1-ə qədər nömrələnib. Bu şəhərlər arasında bəzi iki tərəfli aviareyslər mövcuddur.

Mey-Yu Can-Ci-dən soruşdu ki, həqiqətənmi, yalnız aviareyslərdən istifadə edərək hər hansı bir şəhərdən digərinə getmək mümkündürmü. Can-Ci isə sualı cavablandırmaq əvəzinə oyun təklif etdi.

Mey-Yu belə suallar verə bilər: "Şəhərlər x və y birbaşa aviareyslə bağlıdırmı?". Can-Ci hər sualı dərhal cavablandırmalıdır. Mey-Yu hər şəhər cütlüyü haqqında yalnız bir dəfə soruşur, yəni ümumilikdə r = n * (n - 1) / 2 sual verir. Mey-Yu oyunu qazanmış sayılır əgər ilk i sualın cavablarını aldıqdan sonra, bəzi i < r üçün, aviareyslər şəbəkəsinin əlaqəli olub-olmadığını müəyyən edə bilirsə. Bu, yalnız aviareyslərdən istifadə edərək hər hansı bir şəhərdən digərinə getməyin mümkün olduğunu göstərir. Əgər ona bütün r sualları vermək lazım gəlsə, Can-Ci qazanır.

Oyunu daha maraqlı etmək üçün dostlar razılaşdılar ki, Tayvanda mövcud olan aviareyslər şəbəkəsini unudacaqlar və oyunun gedişində öz şəbəkələrini quracaqlar, Mey-Yu-nun əvvəlki suallarına əsasən cari suala cavab seçəcəklər. Can-Ci-yə oyunu qazanmağa kömək edəcək bir proqram yazmaq lazımdır, hansı ki, hər suala necə cavab verməli olduğunu həll edəcək.

Nümunə

Oyunun qaydalarını aşağıdakı üç nümunədə nəzərdən keçirəcəyik. Hər bir nümunədə n = 4 şəhər və r = 6 sual-cavab raundu var.

Birinci nümunədə (aşağıdakı cədvəl) Can-Ci uduzur, çünki 4-cü sualdan sonra Mey-Yu əmindir ki, yalnız aviareyslərdən istifadə edərək hər hansı iki şəhər arasında uçmaq mümkündür, 5 və 6 suallarının cavablarından asılı olmayaraq.

prb7762.gif

Növbəti nümunədə Mey-Yu üçüncü sualdan sonra müəyyən edə bilir ki, Can-Ci qalan suallara necə cavab versə də, yalnız aviareyslərdən istifadə edərək 0 şəhərindən 1 şəhərinə getmək mümkün deyil. Bu halda Can-Ci yenə uduzur.

prb7762_1.gif

Son nümunədə Mey-Yu bütün 6 sualın cavablarını alana qədər cavabı müəyyən edə bilmir, buna görə Can-Ci qazanır. Xüsusilə, Can-Ci son suala "bəli" cavab verdiyi üçün hər hansı bir şəhərdən digərinə uçmaq mümkündür. Əgər "xeyr" cavab versəydi, uçmaq mümkün olmazdı.

prb7762_2.gif

Tapşırığın qoyuluşu

Can-Ci-yə oyunu qazanmağa kömək edəcək bir proqram yazın. Qeyd edin ki, Mey-Yu və Can-Ci bir-birinin strategiyasını bilmirlər. Mey-Yu şəhər cütlükləri haqqında istənilən ardıcıllıqla soruşa bilər və Can-Ci hər suala dərhal cavab verməlidir, digər sualları gözləmədən. Aşağıdakı iki funksiyanı həyata keçirməlisiniz:

Alt tapşırıqlar

Hər alt tapşırıq bir neçə oyundan ibarətdir. Siz yalnız bütün oyunları qazandığınız halda alt tapşırıq üçün xal alacaqsınız.

prb7762_3.gif

Reallaşdırma detalları

Yuxarıda təsvir olunan funksiyaları aşağıdakı imzalarla həyata keçirməlisiniz:

C/C++ proqramları

Pascal proqramları

Giriş məlumatları

Grader aşağıdakı formatda giriş oxuyur:

Çıxış məlumatları

Hər sual üçün ayrıca sətirdə 1 çap olunacaq, əgər u və v arasında kənar varsa, və 0 əks halda.

Nümunələr

Nümunə 1

Loading
Loading