답안 #1041565

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1041565 2024-08-02T05:51:08 Z vjudge1 Ljetopica (COI19_ljetopica) C++17
8 / 100
500 ms 600 KB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MOD 1000000007
ll  n ,k , c1 = 0, c2 = 0;
string s;
ll ch(ll u , ll rem , ll c , ll curr){
    if(rem < 0 or (u == n - 1 and (rem > 0 or c < c1 or c > c2))){
        return 0;
    }
    if(u == n - 1){
        return c;
    }
    if(curr){
        if(s[u] == 'L'){
            return (ch(u + 1, rem - 1, c * 2 + 1, 1 - curr) + ch(u + 1, rem, c * 2 + 1, curr)) % MOD;
        }
        else{
            return (ch(u + 1, rem - 1, c * 2, 1 - curr) + ch(u + 1, rem, c * 2, curr)) % MOD;
        }
    }
    else{
        if(s[u] == 'R'){
            return (ch(u + 1, rem - 1, c * 2 + 1, 1 - curr) + ch(u + 1, rem, c * 2 + 1, curr)) % MOD;
        }
        else{
            return (ch(u + 1, rem - 1, c * 2, 1 - curr) + ch(u + 1, rem, c * 2, curr)) % MOD;
        }
    }

}
void solve(){
    cin >> n >> k;
    string a  , b;
    cin >> s >> a >> b;
    for(int i = 0 ;i < a.length(); i ++){
        c1 = ((c1 * 2) + (a[i] - '0')) % MOD;
        c2 = ((c2 * 2) + (b[i] - '0')) % MOD;
    }
    if(c1 == c2){
        c1 = 0 ;
    }
    if(k == 0){
        cout << (c1 + c2) % MOD << '\n';
    }
    else{
        cout << (ch(0 , k, 1 ,0) + ch(0 , k, 1 ,1)) % MOD << '\n';
    }
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int tests = 1;
    // cin >> tests;
    for (int i = 1; i <= tests; i++){
        solve();
    }
    return 0;
}

Compilation message

ljetopica.cpp: In function 'void solve()':
ljetopica.cpp:36:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |     for(int i = 0 ;i < a.length(); i ++){
      |                    ~~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 37 ms 600 KB Output is correct
2 Correct 14 ms 344 KB Output is correct
3 Correct 222 ms 348 KB Output is correct
4 Correct 188 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 32 ms 348 KB Output is correct
7 Correct 4 ms 348 KB Output is correct
8 Incorrect 234 ms 428 KB Output isn't correct
9 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1041 ms 344 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 37 ms 600 KB Output is correct
10 Correct 14 ms 344 KB Output is correct
11 Correct 222 ms 348 KB Output is correct
12 Correct 188 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 32 ms 348 KB Output is correct
15 Correct 4 ms 348 KB Output is correct
16 Incorrect 234 ms 428 KB Output isn't correct
17 Halted 0 ms 0 KB -