白駿c++1235学生番号
6372 ワード
1235学生番号
問題を解く
#include <iostream>
#include <algorithm>
#include <vector>
#include <set>
using namespace std;
void fast_io(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
}
int main()
{
vector<string> v;
fast_io();
int n, res = 1;
cin >> n;
while (n--)
{
string str;
cin >> str;
reverse(str.begin(), str.end());
v.push_back(str);
}
while (true)
{
set<string> s;
for (int i = 0; i < v.size(); i++)
{
s.insert(v[i].substr(0, res));
}
if (s.size() == v.size())
break;
else
res++;
}
cout << res;
}
入力した文字列をベクトルに反転します.各文字列を0-resに切り取りsetに入れます.
3つ自体がすでに同じ要素を持っている場合は、挿入しない特性を利用します.
最後に入力した学生数=set.size()が同じであれば結果値が表示され、そうでなければ重複値が表示されるためresが向上する.
Reference
この問題について(白駿c++1235学生番号), 我々は、より多くの情報をここで見つけました https://velog.io/@jaranda/백준-c-1235-학생-번호テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol