727
333
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
8227
4754
Code
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;
cin >> s;
vector<string> name;
for (int i = 0; i < s.length(); i++){
string tmp = "";
tmp += s[i];
if (!count(name.begin(), name.end(), tmp)){
name.push_back(tmp);
}
for (int j = i + 1; j < s.length(); j++){
tmp += s[j];
if (!count(name.begin(), name.end(), tmp)){
name.push_back(tmp);
}
}
}
cout << name.size() - 1;
}
Note
Thuật này có độ phức tạp là O(n^2) nhưng mà xâu kí tự dài không quá 300 nên chẳng sao :))
Hãy giúp mọi người biết câu trả lời này thế nào?
2901
1848
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin >> s;
map<string,bool> a;
for (int i=0; i<s.size(); i++)
{
for (int j=i+1; j<=s.size(); j++)
{
if (s.substr(i,j-i)!=s)
a[s.substr(i,j-i)] = true;
}
}
int c;
for (pair<string,bool> i:a) c++;
cout << c;
}
$\\$
`@Daoanhviet96`
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
727
9783
333
bạn ơi
727
9783
333
giải hộ mình bài này với https://hoidap247.com/cau-hoi/5064339
204
3817
88
nên chẳng full https://laptrinhphothong.vn/Problem/Details/5870
8227
77346
4754
Trên đấy người ta ko cho giới hạn ký tự của xâu nên có thể lên đến `10^6` hoặc hơn thì `O(n^2)` thì sao AC được :) Ở đề này có `300` à