Submission #291552

# Submission time Handle Problem Language Result Execution time Memory
291552 2020-09-05T13:24:16 Z zoooma13 Stray Cat (JOI20_stray) C++14
0 / 100
51 ms 16612 KB
#include <bits/stdc++.h>
#include "Anthony.h"
using namespace std;

#define all(v) v.begin() ,v.end()

namespace{
    vector <vector<pair<int ,int>>> adj;
    vector <int> enc ,seq = {0,0,1,0,1,1};
    void dfs(int u ,int d=0 ,bool bef=0){
        for(auto&e : adj[u]){
            adj[e.first].erase(find(all(adj[e.first]) ,make_pair(u ,e.second)));
            if(adj[u].size() > 1){
                enc[e.second] = bef^1;
                dfs(e.first ,0 ,enc[e.second]);
            }else{
                if(d == 0) d = (bef? 0 : 2);
                enc[e.second] = seq[d%6];
                dfs(e.first ,d+1 ,enc[e.second]);
            }
        }
    }
}

vector <int> Mark(int N, int M, int A, int B,vector<int> U,vector<int> V){
    assert(M == N-1);
    adj.resize(N);
    enc.resize(M);
    for(int i=0; i<M; i++){
        adj[U[i]].push_back({V[i] ,i});
        adj[V[i]].push_back({U[i] ,i});
    }
    dfs(0);
    return enc;
}

/**
001011
001101
010011
010110
011001
011010
100101
100110
101001
101100
110010
110100
*/
#include <bits/stdc++.h>
#include "Catherine.h"
using namespace std;

namespace{
    int lst;
    vector <int> bef ,seq = {0,0,1,0,1,1};
}

void Init(int A, int B) {  }

int Move(vector<int> y){
    if(!y[0] && !y[1]){
        bef.clear();
        return -1;
    }
    if(!y[0] && y[1] > 1){
        bef.clear();
        return -1;
    }
    if(!y[1] && y[0] > 1){
        bef.clear();
        return -1;
    }


    if(y[0] == 1 && y[1] > 1){
        bef.clear();
        return lst = 0;
    }
    if(y[1] == 1 && y[0] > 1){
        bef.clear();
        return lst = 1;
    }

    if(bef.size() == 6){
        for(int t=0; t<6; t++){
            if(bef == seq){
                bef.clear();
                return -1;
            }
            seq.insert(seq.begin() ,seq.back()) ,seq.pop_back();
        }
    }

    if(y[lst^1])
        lst ^= 1;

    bef.push_back(lst);
    return lst;
}
# Verdict Execution time Memory Grader output
1 Incorrect 51 ms 16612 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 51 ms 16612 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 45 ms 14076 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 45 ms 14076 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1036 KB Output is correct
2 Correct 1 ms 784 KB Output is correct
3 Correct 2 ms 908 KB Output is correct
4 Correct 2 ms 1084 KB Output is correct
5 Correct 2 ms 1036 KB Output is correct
6 Correct 2 ms 988 KB Output is correct
7 Incorrect 2 ms 1036 KB Wrong Answer [4]
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 44 ms 11600 KB Output is correct
2 Incorrect 47 ms 13160 KB Wrong Answer [6]
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 45 ms 11516 KB Output is correct
2 Incorrect 46 ms 12960 KB Wrong Answer [6]
3 Halted 0 ms 0 KB -