제출 #549745

#제출 시각아이디문제언어결과실행 시간메모리
549745MilosMilutinovicCrossing (JOI21_crossing)C++14
3 / 100
7014 ms6292 KiB
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n;
  cin >> n;
  string sa, sb, sc;
  cin >> sa >> sb >> sc;
  auto Cross = [&](string s, string t) {
    string res = "";
    for (int i = 0; i < n; i++) {
      if (s[i] == t[i]) {
        res += s[i];
      } else {
        res += (s[i] ^ t[i] ^ 'J' ^ 'O' ^ 'I');
      }
    }
    return res;
  };
  vector<string> a;
  a.push_back(sa);
  a.push_back(sb);
  a.push_back(sc);
  a.push_back(Cross(sa, sb));
  a.push_back(Cross(sa, sc));
  a.push_back(Cross(sb, sc));
  a.push_back(Cross(sa, Cross(sb, sc)));
  int q;
  cin >> q;
  string t;
  cin >> t;
  function<void()> Answer = [&]() {
    for (int i = 0; i < a.size(); i++) {
      if (t == a[i]) {
        cout << "Yes" << '\n';
        return;
      }
    }
    cout << "No" << '\n';
  };
  Answer();
  while (q--) {
    int l, r;
    char foo;
    cin >> l >> r >> foo;
    --l; --r;
    for (int i = l; i <= r; i++) {
      t[i] = foo;
    }
    Answer();
  }
  return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In lambda function:
Main.cpp:36:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |     for (int i = 0; i < a.size(); i++) {
      |                     ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...