競技プログラミング日記

主に AtCoder の記事です

AtCoder Beginner Contest 307B

ABC307B

\(S[i]\)と\(S[j]\)の順番が異なるときに, 異なる文字列になることがある.

文字列 \(t\) が回文である
\(\iff\) 任意の \(i \in [0, \lfloor t.length()/2 \rfloor)\) に対して,\(t[i] = t[t.length()-1-i]\).
\(i \in [0,t.length())\)でもよい.

使っている記号,マクロ等 "https://ecsmtlir.hatenablog.com/entry/2022/12/23/131925"

int main() {
  ll n;
  cin >> n;
  vector<string> s(n); cinv(s);

  rep(i,n) rep(j,n) if(i!=j){
    string t = s[i] + s[j];

    bool f = true;
    rep(k,t.length()/2){
      if(t[k] != t[t.length()-1-k]){
        f = false;
        break;
      }
    }

    if(f){
      cout << "Yes" << endl;
      return 0;
    }
  }
  cout << "No" << endl;
  return 0;
}