#1683
xor1
Se consideră o matrice cu un număr infinit de linii și coloane indexate începând cu 0
.
Pe prima linie matricea conține șirul numerelor naturale (0, 1, 2, 3 …
).
Pe fiecare linie începând cu linia a doua pe poziția j
matricea conține suma xor a elementelor situate pe linia anterioara de la poziția 0
până la poziția j
.
Se cere să se răspundă la q
întrebări de forma “Pentru i
și j
date, să se determine numărul situat pe linia i
coloana j
a matricei”. Pentru a genera cele q
întrebări vor fi cunoscute următoarele valori: \( i_1, j_1, a, b, m \).
\( i_1, j_1\) reprezintă valorile pentru prima întrebare. Următoarele întrebări \( i_k, j_k \) vor fi generate una din alta folosind următoarea regulă:
\( {i}_{k} = \left (a* {i}_{k-1} +b \right) \text{ mod } m \)
\( {j}_{k} = \left (a* {j}_{k-1} +b \right) \text{ mod } m \)
Problema | xor1 | Operații I/O |
![]() xor1.in /xor1.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 16 MB
/
Stivă 8 MB
|
Id soluție | #42972850 | Utilizator | |
Fișier | xor1.cpp | Dimensiune | 2.45 KB |
Data încărcării | 24 Martie 2023, 19:17 | Scor / rezultat | Eroare de compilare |
xor1.cpp:43:10: error: 'int y1' redeclared as different kind of symbol int x1 , y1 , q , a , b , m; ^ In file included from /usr/include/features.h:374:0, from /usr/include/assert.h:35, from /usr/include/c++/4.8/cassert:43, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:33, from xor1.cpp:1: /usr/include/i386-linux-gnu/bits/mathcalls.h:241:1: error: previous declaration of 'double y1(double)' __MATHCALL (y1,, (_Mdouble_)); ^ xor1.cpp: In function 'int main()': xor1.cpp:97:11: error: cannot bind 'std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}' lvalue to 'std::basic_istream<char>&&' cin >> q >> x1 >> y1 >> a >> b >> m; ^ In file included from /usr/include/c++/4.8/sstream:38:0, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from xor1.cpp:1: /usr/include/c++/4.8/istream:872:5: error: initializing argument 1 of 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&&, _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = double(double)throw ()]' operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x) ^ xor1.cpp:105:30: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if(y1 < (1 << bit)) continue; ^ xor1.cpp:106:83: warning: pointer to a function used in arithmetic [-Wpointer-arith] ans += (1 << bit) * solve((1 << 30) , x1 + (1 << bit) , y1 - (1 << bit)); ^ xor1.cpp:106:72: error: invalid conversion from 'double (*)(double)throw ()' to 'int' [-fpermissive] ans += (1 << bit) * solve((1 << 30) , x1 + (1 << bit) , y1 - (1 << bit)); ^ xor1.cpp:67:5: error: initializing argument 3 of 'int solve(int, int, int)' [-fpermissive] int solve(int sz , int x , int y) ^ xor1.cpp:112:19: error: invalid operands of types 'int' and 'double(double)throw ()' to binary 'operator*' y1 = (a * y1 + b) % m; ^ xor1.cpp: In function 'bool isInside(int, int, int)': xor1.cpp:65:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ xor1.cpp: In function 'int main()': xor1.cpp:94:17: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] FastIO , FILES; ^ xor1.cpp:94:17: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema xor1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.