.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » pseudobil

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
pseudobil


Timp maxim de execuţie / test:
1.5s
Memorie totala disponibilă / stivă:
64MB / 16MB

Suprafaţa plană a unei mese de pseudo-biliard este formată din nxn celule pătratice cu lungimea laturii egală cu 1 (o unitate), lipite, dispuse pe n linii numerotate de la 1 la n şi n coloane, numerotate de la 1 la n. Pe masă se aşează K 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 D unităţi.

El trebuie să răspundă la m întrebări de forma: x 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 x şi coloana y.

Cerinţă

Cunoscând lungimea n a laturilor mesei, numărul m de întrebări, numărul K de bile aşezate pe masă, poziţiile lor şi lungimea D 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 m întrebări.

Date de intrare

Fişierul de intrare pseudobil.in conţine pe prima linie un număr natural p. Pentru toate testele de intrare, numărul p poate avea doar valoarea 1 sau valoarea 2.
Pe linia a doua se găsesc numerele naturale n, K şi D separate prin câte un spaţiu.
Pe fiecare dintre următoarele K linii, se găsesc câte două numere a şi b (a, b ≤ n) reprezentând linia şi coloana celulei în centrul căreia va fi aşezată o bilă.
Pe linia K + 3 se găseşte un număr natural m.
Următoarele m linii conţin câte două numere naturale x şi y, 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 p este 1, 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 n1, reprezentând numărul de celule care se vor găsi în întregime în interiorul cadrului.
Dacă valoarea lui p este 2, se va rezolva numai punctul 2 din cerinţă. În acest caz, fişierul de ieşire pseudobil.out va conţine m linii. Pe fiecare linie i se va scrie câte un număr natural n2, reprezentând răspunsul pentru întrebarea i.

Restricţii

• 3 ≤ n ≤ 1500
• 1 ≤ K ≤ 55 000
• 2 ≤ D ≤ n – 1 , D – număr par
• 1 ≤ m ≤ 100 000
• Poziţiile cadrului sunt distincte.
• Se garantează pentru x şi y valori pentru care cadrul este plasat în interiorul suprafeţei mesei de pseudo-biliard.

Exemple

pseudobil.inpseudobil.outExplicaţii
1 5 2 4 3 4 5 2 1 1 3 5


p = 1
n = 5, K = 2, D = 4
D = (3 unităţi + 2*0.5 unităţi) = 4

Numărul de celule aflate în întregime în interiorul cadrului este n1 = 5
Atenţie! Pentru acest test se rezolvă doar cerinţa 1.
Se observă că în acest caz este suficient să se citească datele aflate pe primele două linii.
2 6 5 4 2 3 1 1 5 6 4 4 3 5 2 1 3 2 4 3 2


p = 2, n = 6, K = 5, D = 4.
Prima întrebare este: 1 3 . Sunt două bile pe laturile cadrului şi una în interior, deci n2 = 3
A doua întrebare este: 2 4. O bilă se găseşte pe una dintre laturile cadrului şi una în interior, deci n2 = 2
Atenţie! Pentru acest test se rezolvă doar cerinţa 2.

autor: Prof. Constantin Gălăţan
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la OJI 2014: arrows, tcif, imprimanta, munte3, ferma1, triunghi6, cartite, fractii2, cool, martisoare, piramide, patrat1, schi1
De acelaşi autor: ozn, pod, numere, vikingi, furtuna, livada, teatru, iepuras2, kimberley, novel, friends2, stalpi, tabara, sport, randuri, panouri, powerpuff, cartele, joc15, stalpi1, autostrazi, telecab, harta2
Despre matrice: vopsea, harta, opmat, sarpe, light, magic2, tetris, origami, concurs, iepuras, tribile, criptmat, cutie, patrate, 3d, pajura, perspic, vecini2, livada, matrice3, kafka, erdos, grup, scor2, reteta2, rezervatie, scoici, tablou, game, stea, submatrix, cifru, jokes, oua, trecere, na, dotnet, renju, ghici, mere1, agitatie, lacuri, sotron, desen1, camion, ceas1, fibo, parc, excursia, matricea, zidar, joc6, log, concurs2, cladiri, dist, centru, robinson, cuburi2, joc8, joc9, romeo, adevar, soricel2, avere, joc11, vizibil, sah1, blockout, masina3, lsort, anticip, matrice1, evantai, spion, pereti, zumzi, roboti, placare, tabel, ocr, numere7, lacusta, becuri, sir5, flori, cartele, furnica, pavare, poarta, rj, peri, poligon2, sablon1, gradina, matrice4, poartas, balcon, submdisj, v, matrx, figura, neuroni, raze, roboti1, bila, iepurasi, colorare, mat, submatrix1, simetric1, plaja, xor2, guess, albine1, joct, alfabetar, stele, tablou1, alpinist, cladire, cri, grupe2, el, mahjong, sir9, acces, tort1, joc17, mesaj3, zar1, xy, poteci, avioane, broscute, safeu, acoperire1, radioactiv, robot4, lcdr, jb, slide, maxtri, dame, triunghi4, elicop, compresie, mijloc, cubulete, romb, medalion, bile6, zigzag, puncte5, intersectii, matd3, matrixdel, speed, seif1, traseu2, incadrare, betasah, zona, latin, zmax, amestec, sudoku1, gradina1, spider, zone, bemo, rombul, interclasare, rebus1, tabla, arrows, patrat1, rascoala, harta2, relatii, lasere, defrag, matcnt, ssdj, cript, ssk, teren1, fence, cifre6
surse trimise | ajutor