제출 #521885

#제출 시각아이디문제언어결과실행 시간메모리
521885MonarchuwuSnake Escaping (JOI18_snake_escaping)C++17
5 / 100
2067 ms3736 KiB
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
typedef long long ll;

const int N = 2e6 + 4;
int l, q;
string s;

bool check(int mask, string s) {
    for (int i = 0; i < l; ++i) {
        char c = s[s.size() - 1 - i];
        if (c != '?') {
            if (c == '1') {
                if (!(mask >> i & 1)) return false;
            }
            else {
                if (mask >> i & 1) return false;
            }
        }
    }
    return true;
}

int main() {
    cin.tie(NULL)->sync_with_stdio(false);
    cin >> l >> q >> s;
    while (q--) {
        string t; cin >> t;
        int sum(0);

        for (int i = 0; i < s.size(); ++i)
            if (check(i, t)) sum += s[i] ^ 48;
        cout << sum << '\n';
    }
}
/**  /\_/\
 *  (= ._.)
 *  / >0  \>1
**/

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

snake_escaping.cpp: In function 'int main()':
snake_escaping.cpp:33:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |         for (int i = 0; i < s.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...
#Verdict Execution timeMemoryGrader output
Fetching results...