답안 #291524

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
291524 2020-09-05T13:01:47 Z zoooma13 길고양이 (JOI20_stray) C++14
0 / 100
48 ms 16372 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] && y[0]){
        bef.clear();
        return lst = 0;
    }
    if(y[1] < y[0] && y[1]){
        bef.clear();
        return lst = 1;
    }

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

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

    bef.push_back(lst);
    return lst;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 48 ms 16372 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 48 ms 16372 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 43 ms 14068 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 43 ms 14068 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 1068 KB Output is correct
2 Correct 0 ms 772 KB Output is correct
3 Correct 2 ms 908 KB Output is correct
4 Correct 2 ms 1092 KB Output is correct
5 Correct 2 ms 1040 KB Output is correct
6 Correct 2 ms 1088 KB Output is correct
7 Correct 2 ms 1168 KB Output is correct
8 Correct 2 ms 1040 KB Output is correct
9 Correct 2 ms 1168 KB Output is correct
10 Correct 2 ms 1040 KB Output is correct
11 Correct 2 ms 1040 KB Output is correct
12 Correct 2 ms 1100 KB Output is correct
13 Incorrect 2 ms 1104 KB Wrong Answer [6]
14 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 41 ms 11592 KB Output is correct
2 Incorrect 45 ms 12880 KB Wrong Answer [6]
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 45 ms 11388 KB Output is correct
2 Incorrect 43 ms 13148 KB Wrong Answer [6]
3 Halted 0 ms 0 KB -