Táto úloha je programátorská. Ako svoje riešenie odovzdaj program vo svojom obľúbenom jazyku a automaticky sa dozvieš koľko si dostal/a bodov. Ak si takýto typ úloh ešte nikdy neriešil/a skús sa pozrieť ako by mal vyzerať ideálny program. Ak zaťiaľ programovať nevieš, ale chcel/a by si vedieť možeš skúsiť náš python tutoriál.
Ak máte akékoľvek otázky ohľadom tejto úlohy, napíšte Kubovi na [email protected]
Andrej má doma záhradu na ktorej mu rastú jablká a hrušky. Tento rok mu ich narástlo veľmi veľa a on má rád iba tie naozaj kvalitné. Aby zistil ktoré z nich sú kvalitné a ktoré nie, by ich chcel zoradiť podľa kvality. Andreja už ale po mnohých rokoch klasické triedenie omrzelo. Chcel by preto vyskúšať nejaký nový spôsob triedenia a rozhodol sa, že tento rok bude triediť tak, že nebude vymienať ovocie rovnakého druhu. Nie je si ale istý, či takýmto spôsobom vie jablká a hrušky zoradiť. Vedeli by ste mu pomôcť?
Úloha
Máme rad ovocia. Každé z nich je opísané dvoma číslami: \(a_i\) - jeho kvalita a \(b_i\) - jeho typ. Chceme zistiť, či vieme
zoradiť tento rad podľa kvality ovocia (\(a_i\)) tak, aby sme vymieňali iba ovocie
rôzneho typu (s rôznym \(b_i\)).
Hodnota \(b_i\) je buď 0 (jablko) alebo
1 (hruška).
Vstup sa skladá z viacerých testov. Každý test je samostatným radom ovocí a nie je žiadnym spôsobom závislý od predchádzajúcich alebo nasledujúcich testov.
Formát vstupu
Na prvom riadku vstupu dostanete číslo \(t\), označujúce počet testov.
Každý test sa skladá z troch riadkov vstupu. Na prvom riadku dostanete
číslo \(n\), označujúce počet ovocí v
rade. Na druhom riadku dostanete \(n\)
čísel \(a_i\), označujúcich kvalitu
ovocia. Na poslednom riadku testu dostanete \(n\) čísel \(b_i\), označujúcich typ ovocia.
Formát výstupu
Pre každý test vypíšte Ano
, ak je možné ovocie možné
zoradiť tak, že vymieňame iba ovocie rôzneho typu alebo
Nie
, ak ich tak zoradiť nevieme.
Hodnotenie
Existuje 5 sád vstupov. Za každú správne vyriešenú sadu získate 20
bodov.
Pre jednotlivé sady vstupov platia nasledovné obmedzenia:
Sada. | 1. | 2. | 3. | 4. | 5. |
---|---|---|---|---|---|
\(5 \leq t \leq\) | \(15\) | \(150\) | \(150\) | \(700\) | \(1000\) |
\(10 \leq n \leq\) | \(100\) | \(100\) | \(500\) | \(1000\) | \(4000\) |
V každej sade platí, že \(0 \leq a_i \leq 10^6\) a \(b_i \in \{0, 1\}\).
Príklad
Input:
5
8
10 20 30 40 50 60 60 80
1 0 1 1 0 0 1 0
5
39 25 77 91 95
1 0 0 1 1
3
5 71 57
0 0 0
6
0 1 1 2 3 5
1 1 1 1 1 1
4
22 11 113 50
1 0 0 1
Output:
Ano
Ano
Nie
Ano
Ano
- V prvom prípade už je ovocie zoradené podľa kvality.
- V druhom prípade nám stačí vymeniť prvú hrušku s prvým jablkom.
- V treťom prípade nevieme ovocie zoradiť, keďže nemôžeme žiadnu dvojicu vymeniť.
- Vo štvrtom prípade už je ovocie zoradené.
- V piatom prípade vieme vymeniť prvú hrušku a prvé jablko a potom druhé jablko a druhú hrušku.
Odovzdávanie
Na odovzdávanie sa musíš prihlásiť
Otázky a diskusia
Po skončení kola budete mať príležitosť na diskutovanie o riešeniach v diskusii pod vzorovým riešením.