답안 #710701

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
710701 2023-03-15T15:57:08 Z Ronin13 Crossing (JOI21_crossing) C++14
26 / 100
1108 ms 1048576 KB
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned ll
#define f first
#define s second
#define pii pair<int,int>
#define pll pair<ll,ll>
#define pb push_back
#define epb emplace_back
using namespace std;
const int nmax = 1000001;

map <vector <int> , bool> used;

vector <vector <int> >  vec;

vector <int> op(vector <int> &a, vector <int> &b){
    vector <int> ans;
    for(int i = 0; i < a.size(); i++){
        int x = a[i] + b[i];
        x = -x;
        x %= 3;
        x += 3;
        x %= 3;
        ans.pb(x);
    }
    return ans;
}

void rec(vector <int> v){
    used[v] = true;
    for(auto to : vec){
        vector <int> x = op(to, v);
        if(used[x]) continue;
        rec(x);
    }
}

int main(){
    ios_base::sync_with_stdio(false); cin.tie(0);
    int n; cin >> n;
    string a[3];
    for(int i = 0; i < 3; i++){
        vector<int> v;
        cin >> a[i];
        for(int j = 0; j < n; j++){
            if(a[i][j] == 'O')
                v.pb(0);
            if(a[i][j] == 'J')
                v.pb(1);
            if(a[i][j] == 'I')
                v.pb(2);
        }
        used[v] = true;
        vec.pb(v);
    }
    for(int i = 0; i < 3; i++)
        rec(vec[i]);
    int q; cin >> q;
    vector <int> t;
    for(int i = 0; i < n; i++){
        char c; cin >> c;
        if(c == 'J')
            t.pb(1);
        if(c == 'O')
            t.pb(0);
        if(c == 'I')
            t.pb(2);
    }
    if(used[t]) cout << "Yes\n";
    else cout << "No\n";
    while(q--){
        int l,r; cin >> l >> r;
        char c; cin >> c;
        int x;
        if(c == 'O')
            x = 0;
        if(c == 'J')
            x = 1;
        if(c == 'I')
            x = 2;
        for(int i = l - 1; i < r; i++)
            t[i] = x;
        used[t] ? cout << "Yes\n" : cout << "No\n";
    }
    return 0;
}

Compilation message

Main.cpp: In function 'std::vector<int> op(std::vector<int>&, std::vector<int>&)':
Main.cpp:19:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |     for(int i = 0; i < a.size(); i++){
      |                    ~~^~~~~~~~~~
Main.cpp: In function 'int main()':
Main.cpp:83:18: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized]
   83 |             t[i] = x;
# 결과 실행 시간 메모리 Grader output
1 Correct 244 ms 63320 KB Output is correct
2 Correct 248 ms 81200 KB Output is correct
3 Correct 326 ms 30708 KB Output is correct
4 Correct 282 ms 78608 KB Output is correct
5 Correct 270 ms 76920 KB Output is correct
6 Correct 265 ms 73328 KB Output is correct
7 Correct 227 ms 63120 KB Output is correct
8 Correct 311 ms 83744 KB Output is correct
9 Correct 279 ms 80460 KB Output is correct
10 Correct 250 ms 92020 KB Output is correct
11 Correct 261 ms 86092 KB Output is correct
12 Correct 260 ms 92008 KB Output is correct
13 Correct 262 ms 86204 KB Output is correct
14 Correct 281 ms 92144 KB Output is correct
15 Correct 294 ms 86176 KB Output is correct
16 Correct 255 ms 92092 KB Output is correct
17 Correct 252 ms 86164 KB Output is correct
18 Correct 282 ms 17500 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 244 ms 63320 KB Output is correct
2 Correct 248 ms 81200 KB Output is correct
3 Correct 326 ms 30708 KB Output is correct
4 Correct 282 ms 78608 KB Output is correct
5 Correct 270 ms 76920 KB Output is correct
6 Correct 265 ms 73328 KB Output is correct
7 Correct 227 ms 63120 KB Output is correct
8 Correct 311 ms 83744 KB Output is correct
9 Correct 279 ms 80460 KB Output is correct
10 Correct 250 ms 92020 KB Output is correct
11 Correct 261 ms 86092 KB Output is correct
12 Correct 260 ms 92008 KB Output is correct
13 Correct 262 ms 86204 KB Output is correct
14 Correct 281 ms 92144 KB Output is correct
15 Correct 294 ms 86176 KB Output is correct
16 Correct 255 ms 92092 KB Output is correct
17 Correct 252 ms 86164 KB Output is correct
18 Correct 282 ms 17500 KB Output is correct
19 Runtime error 1108 ms 1048576 KB Execution killed with signal 9
20 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 244 ms 63320 KB Output is correct
2 Correct 248 ms 81200 KB Output is correct
3 Correct 326 ms 30708 KB Output is correct
4 Correct 282 ms 78608 KB Output is correct
5 Correct 270 ms 76920 KB Output is correct
6 Correct 265 ms 73328 KB Output is correct
7 Correct 227 ms 63120 KB Output is correct
8 Correct 311 ms 83744 KB Output is correct
9 Correct 279 ms 80460 KB Output is correct
10 Correct 250 ms 92020 KB Output is correct
11 Correct 261 ms 86092 KB Output is correct
12 Correct 260 ms 92008 KB Output is correct
13 Correct 262 ms 86204 KB Output is correct
14 Correct 281 ms 92144 KB Output is correct
15 Correct 294 ms 86176 KB Output is correct
16 Correct 255 ms 92092 KB Output is correct
17 Correct 252 ms 86164 KB Output is correct
18 Correct 282 ms 17500 KB Output is correct
19 Correct 285 ms 77600 KB Output is correct
20 Correct 314 ms 30764 KB Output is correct
21 Correct 288 ms 87244 KB Output is correct
22 Correct 208 ms 54400 KB Output is correct
23 Correct 312 ms 88228 KB Output is correct
24 Correct 260 ms 71956 KB Output is correct
25 Correct 290 ms 87260 KB Output is correct
26 Correct 244 ms 60116 KB Output is correct
27 Correct 290 ms 87568 KB Output is correct
28 Correct 256 ms 74440 KB Output is correct
29 Correct 277 ms 82636 KB Output is correct
30 Correct 261 ms 55976 KB Output is correct
31 Correct 282 ms 89416 KB Output is correct
32 Correct 277 ms 82736 KB Output is correct
33 Correct 258 ms 84324 KB Output is correct
34 Correct 227 ms 60292 KB Output is correct
35 Correct 268 ms 92144 KB Output is correct
36 Correct 252 ms 86336 KB Output is correct
37 Correct 266 ms 92236 KB Output is correct
38 Correct 243 ms 86152 KB Output is correct
39 Correct 276 ms 92252 KB Output is correct
40 Correct 253 ms 86136 KB Output is correct
41 Correct 285 ms 92076 KB Output is correct
42 Correct 258 ms 86204 KB Output is correct
43 Correct 261 ms 65740 KB Output is correct
44 Correct 260 ms 83904 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 244 ms 63320 KB Output is correct
2 Correct 248 ms 81200 KB Output is correct
3 Correct 326 ms 30708 KB Output is correct
4 Correct 282 ms 78608 KB Output is correct
5 Correct 270 ms 76920 KB Output is correct
6 Correct 265 ms 73328 KB Output is correct
7 Correct 227 ms 63120 KB Output is correct
8 Correct 311 ms 83744 KB Output is correct
9 Correct 279 ms 80460 KB Output is correct
10 Correct 250 ms 92020 KB Output is correct
11 Correct 261 ms 86092 KB Output is correct
12 Correct 260 ms 92008 KB Output is correct
13 Correct 262 ms 86204 KB Output is correct
14 Correct 281 ms 92144 KB Output is correct
15 Correct 294 ms 86176 KB Output is correct
16 Correct 255 ms 92092 KB Output is correct
17 Correct 252 ms 86164 KB Output is correct
18 Correct 282 ms 17500 KB Output is correct
19 Runtime error 1108 ms 1048576 KB Execution killed with signal 9
20 Halted 0 ms 0 KB -