実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 31
問題概要
2種類の英小文字からなる文字列 が与えられる。 はある1文字を除いて同じ文字で構成されている。他のどの文字とも異なる文字は前から何文字目か。
制約
- の長さは 以上 以下
考察
どうとでも書けそうだが、探索系の問題を解くときの基本は「全探索で解けるか」をまず検討することだ。 の長さは 以下なので、今回も2重ループを用いた全探索で解くことができる。
具体的には、 のある一文字 について注目したとき、その他の の文字すべてと異なれば、その が求める数である ( は1-indexed) 。
コード
#include <bits/stdc++.h> using namespace std; #define rep(i, start, end) for (ll i = (start); i < (ll)(end); i++) // ======================================== // int main() { string S; cin >> S; rep(i, 0, S.size()) { bool flag = true; rep(j, 0, S.size()) { if (i == j) continue; if (S[i] == S[j]) flag = false; } if (flag) { cout << i + 1 << endl; return 0; } } }
実装時間: 5分