ConcursC++17

sim

Paftenie trăiește într-un oraș pătratic, împărțit în n×nn \times n regiuni pătratice, așezate pe nn linii, numerotate de la 11 la nn, și nn coloane, numerotate de la 11 la nn. În fiecare astfel de regiune există o cafenea, iar în dreptul fiecărei cafenele se află un indicator către nord (↑\uparrow), sud (↓\downarrow), vest (←\leftarrow) sau est (→\rightarrow). Prin “cafeneaua (i,j)(i, j)” ne vom referi la cafeneaua de la linia ii și coloana jj.

În prima zi, în fiecare cafenea își ia micul dejun exact unul dintre cei n2n^2 cetățeni ai orașului. Începând cu a doua zi, fiecare cetățean își va lua micul dejun în cafeneaua vecină celei în care și-a luat micul dejun în ziua precedentă, conform direcției de pe indicatorul asociat acesteia. Procesul se repetă timp de kk zile.

Pornind într-o zi de la cafeneaua (i,j)(i, j), cafeneaua vecină la care se ajunge în ziua următoare este (i−1,j)(i − 1, j) dacă direcția indicatorului este nord sau (i+1,j)(i + 1, j) dacă direcția indicatorului este sud sau (i,j−1)(i, j − 1) dacă direcția indicatorului este vest sau (i,j+1)(i, j + 1) dacă direcția indicatorului este est.

Paftenie definește gradul de fericire al unui cetățean ca fiind numărul de cetățeni cu care a luat micul dejun împreună cel puțin o dată în timpul celor kk zile. Mai mult, Paftenie definește gradul de fericire al orașului drept suma gradelor de fericire ale cetățenilor săi.

Cerință

Cum Paftenie este prea distras de micul său dejun englezesc cu cârnăciori și fasole fiartă, apelează la voi pentru a determina:

  1. Numărul maxim de cetățeni care iau micul dejun împreună în cea de-a doua zi.
  2. Gradul de fericire al orașului său.

Date de intrare

Fișierul de intrare sim.in conține pe prima linie un număr natural CC, iar pe a doua linie numerele naturale nn și kk, separate printr-un spațiu. Următoarele nn linii din fișier conțin câte nn numere naturale din mulțimea {1,2,3,4}\{1, 2, 3, 4 \} (11 pentru nord, 22 pentru sud, 33 pentru vest, 44 pentru est), separate prin câte un spațiu. Al jj-lea număr de pe linia i+2i + 2 din fișier reprezintă direcția indicatorului asociat cafenelei (i,j)(i, j).

Date de ieșire

Fișierul de ieșire sim.out va conține un singur număr natural XX:

  1. Dacă C=1C = 1, atunci XX va fi numărul maxim de cetățeni care iau micul dejun împreună în cea de-a doua zi.
  2. Dacă C=2C = 2, atunci XX va fi gradul de fericire al orașului lui Paftenie.

Restricții și precizări

  • C∈{1,2}C \in \{1, 2 \}
  • 2≤n≤1 0002 \leq n \leq 1 \ 000
  • k∈{1 000,1 000 000 000}k \in \{1 \ 000, 1 \ 000 \ 000 \ 000 \}
  • Se garantează că nu există niciun indicator care, odată urmat, duce la părăsirea orașului.
#PunctajRestrictii
120C=1,n≤30,k=1 000C = 1, n \leq 30, k = 1 \ 000
230C=2,n≤30,k=1 000C = 2, n \leq 30, k = 1 \ 000
320C=2,n≤30,k=1 000 000 000C = 2, n \leq 30, k = 1 \ 000 \ 000 \ 000
430C=2,30<n≤1 000,k=1 000 000 000C = 2, 30 < n \leq 1 \ 000, k = 1 \ 000 \ 000 \ 000

Exemplul 1

sim.in

1
3 1000
4 3 2
4 2 2
4 3 3

sim.out

3

Explicație

Orașul este reprezentat grafic în tabloul bidimensional (matricea) AA, iar cetățenii săi sunt numerotați precum în matricea A1A_1. În fiecare celulă a matricei AiA_i, cu 1≤i≤21 \leq i \leq 2, sunt cetățenii care, în ziua ii, iau micul dejun în cafeneaua respectivă.

Numărul maxim de cetățeni care iau masa împreună în a doua zi este 33, aceștia fiind situați în cafeneaua (3,2)(3, 2).

Exemplul 2

sim.in

2
5 1000
4 3 2 4 2
4 2 2 3 2
1 4 4 2 1
1 4 1 2 1
1 3 3 3 1

sim.out

30

Explicație

Orașul este reprezentat grafic în tabloul bidimensional (matricea) BB, iar cetățenii săi sunt numerotați precum în matricea B1B_1. În fiecare celulă a matricei BiB_i, cu 1≤i≤41 \leq i \leq 4, sunt cetățenii care, în ziua ii, iau micul dejun în cafeneaua respectivă.

Tabelul TT conține întâlnirile care au loc până la finalul celor 10001000 de zile. A doua coloană conține lista cetățenilor cu care se întâlnește cetățeanul din prima coloană. Răspunsul este 3+2+2+3+2+3+2+2+2+3+2+2+2=303+2+2+3+2+3+2+2+2+3+2+2+2 = 30.

Figura 1 din enunțul original al problemei sim.Figura 1 din enunțul original al problemei sim.Mărește schema ↗

Sursă și autori

ONI 2024, clasele 6. Iulian Oleniuc.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑