Yuulis.log

トンネルを抜けるとそこは参照エラーであった。

【AtCoder】ABC 342 A - Yay! | 茶コーダーが解くAtCoder

atcoder.jp

実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 31

問題概要

2種類の英小文字からなる文字列  S が与えられる。  S はある1文字を除いて同じ文字で構成されている。他のどの文字とも異なる文字は前から何文字目か。

制約

  •  S の長さは  3 以上  100 以下

考察

どうとでも書けそうだが、探索系の問題を解くときの基本は「全探索で解けるか」をまず検討することだ。 S の長さは  100 以下なので、今回も2重ループを用いた全探索で解くことができる。

具体的には、  S のある一文字  S_i について注目したとき、その他の  S の文字すべてと異なれば、その  i が求める数である ( i は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;
        }
    }
}

atcoder.jp

実装時間: 5分