#1042
Subsecvente
Fie n
un număr natural și M={S
1
,S
2
,…,S
n
}
o mulțime de șiruri de caractere nevide. Fie S
k
un șir de caractere din M
. Atunci, orice caracter al lui S
k
aparține mulțimii {'a','b'}
. Notăm prin |S
k
|
numărul caracterelor șirului S
k
sau, echivalent, lungimea sa. O subsecvență S
k
[i:j]
a lui S
k
este formată din caracterele situate pe pozițiile consecutive i, i+1, .., j
. Astfel, dacă S
k
= 'abbbaababa'
, atunci S
k
[3:6] = 'bbaa'
sau subsecvența evidențiată: 'ab
bbaa
baba'
.
Fiind dată o mulțime M
, se cere să se determine lungimea maximă a unei subsecvențe care se găsește în toate șirurile din M
.
OJI 2013, clasele XI-XII
Problema | Subsecvente | Operații I/O |
subsecvente.in /subsecvente.out
|
---|---|---|---|
Limita timp | 0.6 secunde | Limita memorie |
Total: 128 MB
/
Stivă 64 MB
|
Id soluție | #51454281 | Utilizator | |
Fișier | subsecvente.cpp | Dimensiune | 2.68 KB |
Data încărcării | 19 Iunie 2024, 15:56 | Scor / rezultat | Eroare de compilare |
subsecvente.cpp: In function 'bool check(long long int, int)': subsecvente.cpp:41:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=lungime;j<s[i].size() && ok;j++) ^ subsecvente.cpp: In function 'void s1maker()': subsecvente.cpp:69:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=1;i<s[1].size();i++) ^ subsecvente.cpp:67:13: warning: unused variable 'sablon' [-Wunused-variable] { long long sablon=0; ^ subsecvente.cpp: In function 'void smaker(int)': subsecvente.cpp:78:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=1;i<s[1].size();i++) ^ subsecvente.cpp:76:14: warning: unused variable 'sablon' [-Wunused-variable] long long sablon=0; ^ subsecvente.cpp: In function 'int main()': subsecvente.cpp:95:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0;i<s[1].size() && rasp<60;i++) ^ subsecvente.cpp:97:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(i>=1 && i+rasp<s[1].size())sablon=hash1[i+rasp-1]-(hash1[i-1]*rest[rasp])%bigprim; ^ subsecvente.cpp:99:48: error: no matching function for call to 'min(std::basic_string<char>::size_type, int)' for(int j=i+rasp;j<min(s[1].size(),i+61);j++) ^ subsecvente.cpp:99:48: note: candidates are: In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from subsecvente.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&) min(const _Tp& __a, const _Tp& __b) ^ /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template argument deduction/substitution failed: subsecvente.cpp:99:48: note: deduced conflicting types for parameter 'const _Tp' ('unsigned int' and 'int') for(int j=i+rasp;j<min(s[1].size(),i+61);j++) ^ In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from subsecvente.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare) min(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template argument deduction/substitution failed: subsecvente.cpp:99:48: note: deduced conflicting types for parameter 'const _Tp' ('unsigned int' and 'int') for(int j=i+rasp;j<min(s[1].size(),i+61);j++) ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from subsecvente.cpp:4: /usr/include/c++/4.8/bits/stl_algo.h:4221:5: note: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>) min(initializer_list<_Tp> __l) ^ /usr/include/c++/4.8/bits/stl_algo.h:4221:5: note: template argument deduction/substitution failed: subsecvente.cpp:99:48: note: mismatched types 'std::initializer_list<_Tp>' and 'unsigned int' for(int j=i+rasp;j<min(s[1].size(),i+61);j++) ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from subsecvente.cpp:4: /usr/include/c++/4.8/bits/stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare) min(initializer_list<_Tp> __l, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algo.h:4226:5: note: template argument deduction/substitution failed: subsecvente.cpp:99:48: note: mismatched types 'std::initializer_list<_Tp>' and 'unsigned int' for(int j=i+rasp;j<min(s[1].size(),i+61);j++) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Subsecvente 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ă.