C-merのブログ

ザ・雑記

ABC097-C(12問目)

問題
AtCoder Beginner Contest 097 C - K-th Substring
C: K-th Substring - AtCoder Beginner Contest 097 | AtCoder


使用言語
C++

方針
・k文字以下の文字列作りまくる
→木にぶち込む
→k番目出力

所感
・setディスられてたの見たけど,重複可なの逆に便利

コード

int main()
{
  string s;
  int K;
  set<string> S;

  cin>>s>>K;

  int size = s.length();

  for (int i = 0; i < size; i++) {
    string tmp;
    for (int j = 0; j < 5 && j + i < size; j++) { //多分ここ5じゃなくてkでもいける
      tmp = s.substr(i, j+1);
      S.insert(tmp);
      //cout<<tmp<<S.size()<<endl;
    }
  }


  set<string>::iterator itr = S.begin();
  for (int i = 0; i < K - 1; i++) itr++;

  cout<<(*itr)<<endl;

  return 0;
}