Diferente pentru problema/speculum intre reviziile #5 si #15

Diferente intre titluri:

speculum
Speculum

Diferente intre continut:

Se considera urmatorul caroiaj infinit, cu liniile si coloanele numerotate incepand cu 1:
    1 2 3 4 ...
     1 2 3 4 ...
   ---------
1 | *1 1 1 1* ...
2 | *2 1 1 2*
Se incepe de la patratul cu de latura 1 ce contine pe pozitia *(1, 1)* valoarea *1*. La fiecare pas se dubleaza dimensiunea patratului in felul urmator:
*1.* Se completeaza in dreapta patratului curent un patrat de aceeleasi dimensiuni, care are coloanele cu aceeleasi valori ca si patratul initial, insa oglindite fata de dreapta verticala dintre aceste patrate. Mai exact daca primul patrat are coloanele *C{~1~}, C{~2~}, ... , C{~n-1~}, C{~n~}* patratul din dreapta lui va avea coloanele *C{~n~}, C{~n-1~}, ... C{~2~}, C{~1~}*.
*1.* Se completeaza in dreapta patratului curent un patrat de aceeasi dimensiune, care are coloanele cu aceeleasi valori ca si patratul initial, insa oglindite fata de dreapta verticala dintre aceste patrate. Mai exact daca primul patrat are coloanele *C{~1~}, C{~2~}, ... , C{~n-1~}, C{~n~}* patratul din dreapta lui va avea coloanele *C{~n~}, C{~n-1~}, ... C{~2~}, C{~1~}*.
*2.* Se completeaza in jos fata de patratul unitial un alt patrat de aceeleasi dimensiuni, iar valorile din acest patrat se obtin oglindind fata de orizontala liniile patratului initial *si interschimband valorile 1 cu 2.*
*2.* Se completeaza in jos fata de patratul initial un alt patrat de aceeasi dimensiune, iar valorile din acest patrat se obtin *oglindind fata de orizontala liniile* patratului initial *si interschimband valorile 1 cu 2 si invers.* Mai precis, liniile initiale *L{~1~}, L{~2~}, ... , L{~n-1~}, L{~n~}* se scriu in ordinea *L{~n~}, L{~n-1~}, ... L{~2~}, L{~1~}* iar in locul fiecarei aparitii a lui 1 se asigneaza 2 si pentru 2 se asigneaza 1.
*3.* Se completeaza in dreapta - jos fata de patratul initial un nou patrat de aceeleasi dimensiuni care se obtine din patratul initial oglindind atat liniile (orizontal) cat si coloanele (vertical). Valorile raman neschimbate.
*3.* Se completeaza in dreapta - jos fata de patratul initial un nou patrat de aceeasi dimensiune care se obtine din patratul initial oglindind atat liniile (orizontal) cat si coloanele (vertical). Valorile raman neschimbate.
De exemplu la pasul al doilea avem patratul
 
*1 1*
*2 1*
si conform *1.* adaugam in dreapta lui patratul
 
*1 1*
*1 2* (acesta este patratul initial 'in oglinda', avand aceeleasi coloane dar in ordinea inversa),
si dedesupt:
 
si dedesupt, conform *2.*:
*1 2*
*2 2* (patratul initial oglindint 'orizonta', si cu valorile 1 si 2 interschimbate),
 
iar in dreapta - jos:
*2 2* (patratul initial oglindint orizontal, si cu valorile 1 si 2 interschimbate),
iar in dreapta - jos, conform *3.*:
*1 2*
*1 1* (patratul initial oglindit de doua ori, sau cel de la pasul 2 oglindit inca odata orizontal).
*1 1* (patratul initial oglindit de doua ori, sau cel de la pasul *2.* oglindit a doua oara orizontal).
 
Pentru a rezolva problema trebuie sa raspundeti la cateva query-uri de forma *(x{~1~}, y{~1~}, x{~2~}, y{~2~})*, cu seminificatia: care este suma numerelor din caroiaj aflate in dreptunghiul cu colturile stanga-sus *(x{~1~}, y{~1~})* si dreapta-jos *(x{~2~}, y{~2~})*?
Pentru a rezolva problema trebuie sa raspundeti la cateva query-uri de forma (x{~1~}, y{~1~}, x{~2~}, y{~2~}), cu seminificatia: care este suma numerelor din caroiaj aflate in dreptunghiul cu colturile stanga-sus (x{~1~}, y{~1~}) si dreapta-jos (x{~2~}, y{~2~})?
Coordonata x numeroteaza liniile iar y coloanele.
h2. Date de intrare
Fisierul de intrare $speculum.in$ contine pe prima linie numarul de query-uri *T*. Urmatoarele *T* linii contin cate 4 numere intregi : x{~1~} y{~1~} x{~2~} y{~2~}.
Fisierul de intrare $speculum.in$ contine pe prima linie numarul de query-uri *T*. Urmatoarele *T* linii contin cate 4 numere intregi : *x{~1~} y{~1~} x{~2~} y{~2~}.*
h2. Date de ieşire
  13
  9
  24
  85619882
  1125326168
|
h3. Explicaţie

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
9833