#1829
CuvinteAscunse
Programatoarea Petra a început un curs de criptografie. Fiind un spirit creativ, Petra a creat deja o metodă elaborată de criptare a unei parole sub forma unei perechi (tabel de litere aparţinând mulţimii {‘a’...’z’}
, dicţionar de cuvinte). Din păcate pentru Petra, metoda ei de criptare a parolei, poate fi decriptată de oricine astfel:
i>1
, \(c_i\) este vecină în tabel cu litera \(c_{i-1}\).T
perechi (\(cuvânt_i\), \(a_i\)), unde \(cuvânt_i\) este un cuvânt iar \(a_i\) este numărul de apariţii în tabel, reconstituie litera \(p_i\) a parolei astfel: \(p_i =\) ‘a’ + (
\(a_i\) mod 26)
. Încercând să îmbunătăţească algoritmul, Petra a decis să înlocuiască unele litere din tabel cu semnul întrebării '?'
. Un semn '?'
poate fi înlocuit cu orice literă când se parcurge tabelul. Convinge-o pe Petra că, în ciuda îmbunătăţirii, îi poţi găsi parola pornind de la orice pereche de (dicţionar, tabel de litere) dată.Concursul EMPOWERSOFT, 2016
Problema | CuvinteAscunse | Operații I/O |
cuvinteascunse.in /cuvinteascunse.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 8 MB
/
Stivă 8 MB
|
Id soluție | #42679089 | Utilizator | |
Fișier | cuvinteascunse.cpp | Dimensiune | 3.34 KB |
Data încărcării | 14 Martie 2023, 13:19 | Scor / rezultat | Eroare de compilare |
cuvinteascunse.cpp: In function 'void AddWord(std::string)': cuvinteascunse.cpp:29:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < s.size(); i++) { ^ cuvinteascunse.cpp: In function 'void dfs(int, int, int)': cuvinteascunse.cpp:62:35: error: 's' was not declared in this scope if(Trie[node].to.find(s[i] - 'a') != Trie[node].to.end()) ^ cuvinteascunse.cpp:67:39: error: 's' was not declared in this scope if(Trie[node].to.find(s[i] - 'a') != Trie[node].to.end()) ^ cuvinteascunse.cpp: In function 'int main()': cuvinteascunse.cpp:112:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j = 0; j < s.size(); j++) ^ cuvinteascunse.cpp:124:40: error: 's' was not declared in this scope if(Trie[0].to.find(s[i] - 'a') != Trie[0].to.end()) ^ cuvinteascunse.cpp:128:39: error: 's' was not declared in this scope } else if(Trie[0].to.find(s[i] - 'a') != Trie[0].to.end()) { ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema CuvinteAscunse 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ă.