pseudobil

Time limit: 0.17s Memory limit: 64MB Input: pseudobil.in Output: pseudobil.out

Suprafața plană a unei mese de pseudo-biliard este formată din n×nn \times n celule pătratice cu lungimea laturii egală cu 11 (o unitate), lipite, dispuse pe nn linii numerotate de la 11 la nn și nn coloane, numerotate de la 11 la nn. Pe masă se așează KK bile, fiecare bilă găsindu-se în centrul unei anumite celule a mesei. Un jucător dorește să plaseze pe suprafața mesei un cadru pătratic având lungimea diagonalei egală cu DD unități.

El trebuie să răspundă la mm întrebări de forma xyx y. Fiecare întrebare are semnificația: câte bile se găsesc în interiorul sau pe laturile cadrului?

Cadrul se plasează astfel încât fiecare colț să fie poziționat în centrul unei celule, colțurile opuse să se găsească pe aceeași coloană, respectiv pe aceeași linie, iar colțul ”de sus” să fie plasat în centrul celulei aflată pe linia xx și coloana yy.

Cerinţă

Cunoscând lungimea nn a laturilor mesei, numărul mm de întrebări, numărul KK de bile așezate pe masă, pozițiile lor și lungimea DD a diagonalei cadrului pătratic, se cere:

  1. Numărul de celule care se vor găsi în întregime în interiorul cadrului, dacă acesta se așează pe suprafața mesei, conform descrierii de mai sus.
  2. Câte un răspuns pentru fiecare dintre cele mm întrebări.

Date de intrare

Fişierul de intrare pseudobil.in conţine pe prima linie un număr natural pp. Pentru toate testele de intrare, numărul pp poate avea doar valoarea 11 sau valoarea 22.

Pe linia a doua se găsesc numerele naturale nn, KK și DD separate prin câte un spațiu.

Pe fiecare dintre următoarele KK linii, se găsesc câte două numere aa și bb (a,bna, b \leq n) reprezentând linia și coloana celulei în centrul căreia va fi așezată o bilă.

Pe linia K+3K + 3 se găsește un număr natural mm.

Următoarele mm linii conțin câte două numere naturale xx și yy, reprezentând linia și coloana celulei în centrul căreia se va plasa colțul ”de sus” al cadrului.

Date de ieşire

Dacă valoarea lui pp este 11, se va rezolva numai punctul 1 din cerință. În acest caz, în fişierul de ieşire pseudobil.out se va scrie un singur număr natural n1n_1, reprezentând numărul de celule care se vor găsi în întregime în interiorul cadrului.

Dacă valoarea lui pp este 22, se va rezolva numai punctul 2 din cerință. În acest caz, fişierul de ieşire pseudobil.out va conține mm linii. Pe fiecare linie ii se va scrie câte un număr natural n2n_2, reprezentând răspunsul pentru întrebarea ii.

Restricţii şi precizări

  • 3n1 5003 \leq n \leq 1\ 500
  • 1K55 0001 \leq K \leq 55\ 000
  • 2Dn12 \leq D \leq n – 1 și DD este număr par
  • 1m100 0001 \leq m \leq 100\ 000
  • Pozițiile cadrului sunt distincte.
  • Se garantează pentru xx și yy valori pentru care cadrul este plasat în interiorul suprafeței mesei de pseudo-biliard.
  • Pentru rezolvarea corectă a primului punct se acordă 20 de puncte, iar pentru punctul al doilea se acordă 80 de puncte.
  • Pentru primele 35%35\% din testele care verifică punctul 2 se respectă relațiile m1 000m \leq 1\ 000 și n500n \leq 500.
  • Pentru primele 75%75\% din testele care verifică punctul 2 se respectă relațiile m10 000m \leq 10\ 000 și n1 000n \leq 1\ 000.

Exemplul 1

pseudobil.in

1
5 2 4
3 4
5 2
1
1 3

pseudobil.out

5

Explicație

p=1p = 1, n=5n = 5, K=2K = 2, D=(3+20.5)=4D = (3 + 2 \cdot 0.5) = 4
Atenție! Pentru acest test se rezolvă doar punctul 1 din cerință.

Numărul de celule aflate în întregime în interiorul cadrului este n1=5n_1 = 5.

Se observă că în acest caz este suficient să se citească datele aflate pe primele două linii.

Exemplul 2

pseudobil.in

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

pseudobil.out

3
2

Explicație

p=2p = 2, n=6n = 6, K=5K = 5, D=4D = 4.
Atenție! Pentru acest test se rezolvă doar punctul 2 din cerință.

Prima întrebare este 1 31\ 3. Sunt două bile pe laturile cadrului și una în interior, deci n2=3n_2 = 3.

A doua întrebare este 2 42\ 4. O bilă se găsește pe una dintre laturile cadrului și una în interior, deci n2=2n_2 = 2.

Log in or sign up to be able to send submissions!