ConcursC++17

teren

Lordul John a decis că a venit vremea să însămânțeze terenul său. Terenul a fost împărțit în parcele organizate în NN linii, pe fiecare linie fiind câte NN parcele pătrate, fiecare cu suprafața de un metru pătrat. Liniile au fost numerotate de sus în jos de la 11 la NN, iar coloanele de la stânga la dreapta de la 1 la NN.

Fiind un aviator pasionat, a folosit avionul său pentru a survola terenul în vederea însămânțării. Când se află în zbor deasupra câte unei parcele, aruncă în aceasta o singură sămânță. Lordul realizează MM zboruri deasupra terenului, iar în fiecare astfel de zbor se deplasează în câte o singură direcție, paralelă cu laturile sau cu diagonalele terenului.
Fiecare zbor ii (cu 1≤i≤M1 \leq i \leq M ) este definit printr-un set de patru valori, LSiLS_i, CSiCS_i, LFiLF_i, CFiCF_i, unde (LSiLS_i, CSiCS_i) sunt coordonatele (linia și coloana) primei parcele în care a aruncat o sămânță și (LFiLF_i, CFiCF_i) sunt coordonatele parcelei în care a aruncat ultima sămânță, în cadrul acestui zbor.

La final, după însămânțare, Lordul John dorește să împrejmuiască cu gard parcelele însămânțate, pentru a le separa de cele rămase neînsămânțate sau de marginea terenului.

Se cunosc NN, MM, precum și valorile (LS1LS_1, CS1CS_1, LF1LF_1, CF1CF_1), (LS2LS_2, CS2CS_2, LF2LF_2, CF2CF_2), …\dots, (LSMLS_M, CSMCS_M, LFMLF_M, CFMCF_M) cu semnificația din enunț.

Cerință

  • Determinați numărul semințelor care sunt aruncate.
  • Determinați numărul de parcele care sunt însămânțate.
  • Determinați lungimea gardului care trebuie să separe suprafețele însămânțate de cele neînsămânțate sau de marginea terenului.

Date de intrare

Fișierul teren.in conține pe prima linie trei numere naturale, CC, NN și MM, unde CC este numărul cerinței care trebuie rezolvată (care poate fi doar 11, 22 sau 33), iar NN și MM au semnificația din enunț.

Pe următoarele MM linii se află câte patru numere naturale, reprezentând seturile de valori care definesc zborurile, în ordinea realizării lor.

Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu.

Date de ieșire

Fișierul teren.out conține numărul determinat pentru cerința CC.

Restricții și precizări

  • 1≤N,LS,LF,CS,CF≤1 0001 \leq N, LS, LF, CS, CF \leq 1 \ 000.
  • 1≤M≤100 0001 \leq M \leq 100 \ 000
#ScorRestricții
120C=1C = 1, avionul se deplasează numai de la stânga la dreapta sau de sus în jos
215C=1C = 1, avionul se poate deplasa în orice direcție
320C=2C = 2, avionul se deplasează numai de la stânga la dreapta sau de sus în jos
415C=2C = 2, avionul se poate deplasa în orice direcție
530C=3C = 3

Exemplul 1

teren.in

1 7 6
2 2 2 4
1 3 5 3
1 2 4 5
3 5 6 2
5 4 5 1
7 5 5 7

teren.out

23

Explicație

Se rezolvă cerința C=1C = 1.
Figura 1 din enunțul original al problemei teren.Figura 1 din enunțul original al problemei teren.Mărește schema ↗

În figura anterioară, primul zbor este marcat de săgeata roșie; se survolează parcelele de la coordonatele (2,2)(2, 2), (2,3)(2, 3) și (2,4)(2, 4); la acest zbor se aruncă 33 semințe.

Al doilea zbor este marcat de săgeata albastru-deschis; la acest zbor se aruncă 55 semințe.
În total, în cele 66 zboruri sunt aruncate 3+5+4+4+4+3=233 + 5 + 4 + 4 + 4 + 3 = 23 de semințe.

Exemplul 2

teren.in

2 7 6
2 2 2 4
1 3 5 3
1 2 4 5
3 5 6 2
5 4 5 1
7 5 5 7

teren.out

19

Explicație

Se rezolvă cerința C=2C = 2. Parcelele însămânțate sunt colorate cu galben:
Figura 2 din enunțul original al problemei teren.Figura 2 din enunțul original al problemei teren.Mărește schema ↗

Exemplul 3

teren.in

3 7 6
2 2 2 4
1 3 5 3
1 2 4 5
3 5 6 2
5 4 5 1
7 5 5 7

teren.out

36

Explicație

Se rezolvă cerința C=3C = 3. Gardurile folosite sunt marcate cu culoarea roșie, aflate la marginea unor parcele colorate cu galben:
Figura 3 din enunțul original al problemei teren.Figura 3 din enunțul original al problemei teren.Mărește schema ↗

Sursă și autori

OJI 2025, clasele 7. Daniel Popa.

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 ↑