#3670
Afin1
Cifrul Afin este un cifru unde fiecare literă este înlocuită cu o altă literă printr-o operație matematica. Fiecărei litere i se asociază un cod: a-0
, b-1
, c-2
, … z-25
. De asemenea, mai avem două numere a
și b
, numite chei. Fiecare literă se înlocuiește cu litera care are codul egal cu (a*x+b) mod 26
, unde x
este codul literei. Pentru anumite perechi de numere a
și b
rezultatul expresiei (a*x+b) mod 26
poate fi același pentru valori diferite ale lui x
; p pereche a b
cu această proprietate se consideră ineficientă.
Dându-se valoarea celor două chei și un mesaj criptat să se afișeze mesajul decriptat. Dacă a
și b
formează o pereche ineficientă atunci se afișează mesajul -1
.
cifrul Afin
Problema | Afin1 | Operații I/O |
afin1.in /afin1.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #53484960 | Utilizator | |
Fișier | afin1.cpp | Dimensiune | 596 B |
Data încărcării | 02 Noiembrie 2024, 11:52 | Scor / rezultat | 5 puncte |
afin1.cpp: In function 'int main()': afin1.cpp:16:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0;i<strlen(s);i++) ^ afin1.cpp:27:45: warning: suggest parentheses around assignment used as truth value [-Wparentheses] if(cr[i]=cr[j]&&cr[i]!=-1&&cr[j]!=-1){fout<<-1;return 0;} ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | Raspuns gresit. | 10 | 0 | Exemplu | |
2 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
3 | 0 secunde | Raspuns gresit. | 20 | 0 | ||
4 | 0 secunde | Raspuns gresit. | 20 | 0 | ||
5 | 0 secunde | Raspuns gresit. | 20 | 0 | ||
6 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
7 | 0 secunde | OK. | 5 | 5 | ||
8 | 0.02 secunde | Raspuns gresit. | 5 | 0 | ||
Punctaj total | 5 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Afin1 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ă.