Documente Academic
Documente Profesional
Documente Cultură
Saseg RO
Saseg RO
Problema SaseG
Fis, ier de intrare: standard input
Fis, ier de iesire: standard output
Plictisit de filantropie s, i produs cipuri, William Poartă s, i-a găsit o nouă pasiune: anchetele epidemiologice.
Astfel, el s-a gândit să cerceteze răspândirea unui virus din trecut asupra omenirii, formată din N
persoane.
William s, tie pentru fiecare om starea sa finală (infectat sau neinfectat), ı̂nsă nu s, tie care dintre oameni au
fost infectat, i init, ial, s, i care au fost infectat, i de la alte persoane. Pe langă aceasta, el a aflat de la prietenul
său Marcel Zahăr s, i o serie de ı̂ntâlniri (ı̂n ordine cronologică) ce au avut loc ı̂ntre câte 2 persoane prin
care virusul s-a răspândit, ı̂n următorul fel: dacă vreunul dintre cei doi vine la ı̂ntâlnire infectat, atunci
acesta ı̂l va infecta s, i pe celălalt (dacă acesta nu era deja infectat).
Acum William ı̂s, i pune următoarele ı̂ntrebări:
1. Pentru fiecare om, poate acesta să fie unul dintre cei infectat, i init, ial?
2. Pentru fiecare om, poate acesta să fie unul dintre cei neinfectat, i init, ial?
Date de intrare
Pe prima linie se găses, te un număr ı̂ntreg C, reprezentând numărul cerint, ei de rezolvat.
Pe cea de-a doua linie se găsesc două numere ı̂ntregi N, M , reprezentând numărul de persoane, respectiv
numărul de ı̂ntâlniri care au loc.
Pe cea de-a treia linie se găsesc N numere (având valori ı̂ntre 0 s, i 1) separate prin spat, ii, reprezentând
pentru fiecare om starea sa finală (0 - neinfectat, 1 - infectat).
Următoarele M linii reprezintă fiecare câte o ı̂ntâlnire (ı̂n ordine cronologică), având 2 numere ı̂ntregi
distincte (ı̂ntre 1 s, i N ) reprezentând cele 2 persoane care se ı̂ntâlnesc.
Restrict, ii s, i precizări
• 1≤C≤2
• 1 ≤ N ≤ 100 000
• 0 ≤ M ≤ 100 000
• Se garantează că pentru fiecare test există un scenariu posibil init, ial care să ducă la scenariul final.
• Persoanele nu se pot infecta spontan. Acestea pot fi infectate la final doar dacă au fost infectate
init, ial sau au fost infectate de o altă persoană ı̂n urma unei ı̂ntâlniri.
Subtask 1 (3 puncte)
• C=1
• Se garantează că toate persoanele au aceeas, i stare finală (toate sunt infectate sau toate sunt nein-
fectate).
1
Olimpiada Societăt, ii pentru Excelent, ă s, i Performant, ă ı̂n Informatică
Etapa Nat, ională, 7 aprilie 2021
Clasele XI-XII
Subtask 2 (8 puncte)
• C = 1, 1 ≤ N ≤ 18, 0 ≤ M ≤ 100
Subtask 3 (9 puncte)
• C = 1, 1 ≤ N ≤ 100, 0 ≤ M ≤ 100
• Numărul de persoane infectate ı̂n final ≤ 18
Subtask 6 (3 puncte)
• C = 2, 1 ≤ N ≤ 18, 0 ≤ M ≤ 100
Subtask 7 (4 puncte)
• C = 2, 1 ≤ N ≤ 100, 0 ≤ M ≤ 100
• Numărul de persoane infectate ı̂n final ≤ 18
Subtask 8 (7 puncte)
• C = 2, 1 ≤ N ≤ 5 000, 0 ≤ M ≤ 5 000
Exemple
stdin stdout
1 110010
6 5
1 1 0 0 1 1
4 3
3 6
1 2
5 6
3 4
2 111101
6 5
1 1 0 0 1 1
4 3
3 6
1 2
5 6
3 4
2
Olimpiada Societăt, ii pentru Excelent, ă s, i Performant, ă ı̂n Informatică
Etapa Nat, ională, 7 aprilie 2021
Clasele XI-XII
Explicat, ii
Considerăm următoarele două scenarii init, iale: 010010, 100010. Se poate observa us, or că ambele scenarii
duc la starea finală 110011 ı̂n urma ı̂ntâlnirilor.
Pentru persoanele 1, 2 s, i 5 există scenarii ı̂n care acestea sunt infectate init, ial, s, i se poate demonstra că
pentru niciuna dintre persoanele 3, 4 s, i 6 nu există vreun scenariu init, ial ı̂n care acestea să fie infectate.
Pentru persoanele 1, 2, 3, 4 s, i 6 există scenarii ı̂n care acestea sunt neinfectate init, ial, s, i se poate demonstra
că pentru persoana 5 nu există vreun scenariu init, ial ı̂n care acesta să fie neinfectată.