๋ฐ์ํ
๋ฌธ์
๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ก์ ๋, S์ ์๋ก ๋ค๋ฅธ ๋ถ๋ถ ๋ฌธ์์ด์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๋ถ๋ถ ๋ฌธ์์ด์ S์์ ์ฐ์๋ ์ผ๋ถ๋ถ์ ๋งํ๋ฉฐ, ๊ธธ์ด๊ฐ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์์ผ ํ๋ค.
์๋ฅผ ๋ค์ด, ababc์ ๋ถ๋ถ ๋ฌธ์์ด์ a, b, a, b, c, ab, ba, ab, bc, aba, bab, abc, abab, babc, ababc๊ฐ ์๊ณ , ์๋ก ๋ค๋ฅธ๊ฒ์ ๊ฐ์๋ 12๊ฐ์ด๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ง๋ค. S๋ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ธธ์ด๋ 1,000 ์ดํ์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ S์ ์๋ก ๋ค๋ฅธ ๋ถ๋ถ ๋ฌธ์์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
// ํ์ด : https://whkakrkr.tistory.com
#include <iostream>
#include <vector>
#include <set>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cout.tie(NULL);
cin.tie(NULL);
string s;
cin >> s;
int n = s.size();
set<string>ss;
for(int i=0; i<n; i++) {
for(int j=i; j<n; j++) {
string sub = s.substr(i, j-i+1);
ss.insert(sub);
}
}
cout << ss.size();
return 0;
}
๋ฐ์ํ