E - Extra Character Editorial by rsk0315

C++ の仕様に関して

公式解説 は前提とします。

std::string s に対して s[s.length()] は(未定義動作ではなく)char 型の 0 を返すことが保証されています。 今回は制約から t.length() > s.length() であり t[s.length()] != char(0) なので、以下のようなコードでも正解することができます。

#include <iostream>
#include <string>

int main() {
  std::string s, t;
  std::cin >> s >> t;

  for (size_t i = 0; i <= s.length(); ++i) {
    if (s[i] != t[i]) {
      std::cout << i + 1 << '\n';
      return 0;
    }
  }
}

References:

posted:
last update: