답안 #261130

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
261130 2020-08-11T12:16:59 Z sjimed 길고양이 (JOI20_stray) C++14
0 / 100
67 ms 17628 KB
#include "Anthony.h"
#include<bits/stdc++.h>
using namespace std;

#define fast ios::sync_with_stdio(false); cin.tie(0);
#define fi first
#define se second
#define all(v) (v).begin(), (v).end()
#define em emplace
#define eb emplace_back
#define mp make_pair

typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
const ll INF = 1e18;
const int inf = 1e9;

static vector<pii> g[20010];
static vector<int> ret;
static int tb[6] = {0, 1, 0, 0, 1, 1};

static void dfs(int x, int p, int k) {
  int t = 1 - tb[k];
  if(x != 0 && g[x].size() == 2) t = (k + 1) % 6;

  for(auto i : g[x]) {
    if(i.fi == p) continue;
  
    ret[i.se] = tb[t];
    dfs(i.fi, x, t);
  }
}

std::vector<int> Mark(int N, int M, int A, int B, std::vector<int> U, std::vector<int> V) {  
  for(int i=0; i<M; i++) 
    g[U[i]].eb(V[i], i), g[V[i]].eb(U[i], i);

  ret.resize(M, 0);
  dfs(0, 0, 0);

  /*for(auto i : ret) {
    cout << i;
  }
  cout << endl;*/

  return ret;
}
#include "Catherine.h"
#include<bits/stdc++.h>
using namespace std;

#define fast ios::sync_with_stdio(false); cin.tie(0);
#define fi first
#define se second
#define all(v) (v).begin(), (v).end()
#define em emplace
#define eb emplace_back
#define mp make_pair

typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
const ll INF = 1e18;
const int inf = 1e9;

static int cnt, mask, prv = -1;
static bool flag = false;
static int a, b;

void Init(int A, int B) {
  a = A;
  b = B;
}

int Move(std::vector<int> y) {
  cnt++;
  int d = y[0] + y[1];
  if(prv != -1) d++;

  if(flag){
      if(d>=3) {
          return prv = 1 - prv;
      }
      return prv = y[1];
  }
  if(d==1){
      flag=true;
      if(prv != -1) return -1;
      return prv = y[1];
  }
  if(d>=3){
      if(prv != -1) y[prv]++;
      flag=true;
      int tmp = y[1] == 1;
      if(tmp==prv) return -1;
      return prv = tmp;
  }
  if(cnt<=3){
      prv = y[1];

      if(cnt==1) mask = (y[1]-prv << 1);
      mask <<= 1;
      mask |= prv;
      return prv;
  }
  if(cnt==4){
      flag=true;
      mask <<= 1;
      mask |= y[1];
      if(mask==25||mask==18||mask==5||mask==11||mask==22||mask==12) {
          return prv = y[1];
      }
      return -1;
  }
}

Compilation message

Catherine.cpp: In function 'int Move(std::vector<int>)':
Catherine.cpp:54:30: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
       if(cnt==1) mask = (y[1]-prv << 1);
Catherine.cpp:68:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
# 결과 실행 시간 메모리 Grader output
1 Correct 50 ms 16124 KB Output is correct
2 Correct 1 ms 1536 KB Output is correct
3 Correct 39 ms 14968 KB Output is correct
4 Correct 61 ms 17404 KB Output is correct
5 Incorrect 59 ms 17628 KB Wrong Answer [6]
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 50 ms 16124 KB Output is correct
2 Correct 1 ms 1536 KB Output is correct
3 Correct 39 ms 14968 KB Output is correct
4 Correct 61 ms 17404 KB Output is correct
5 Incorrect 59 ms 17628 KB Wrong Answer [6]
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 46 ms 13692 KB Output is correct
2 Correct 1 ms 1536 KB Output is correct
3 Correct 37 ms 12796 KB Output is correct
4 Correct 67 ms 15344 KB Output is correct
5 Incorrect 58 ms 15380 KB Wrong Answer [6]
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 46 ms 13692 KB Output is correct
2 Correct 1 ms 1536 KB Output is correct
3 Correct 37 ms 12796 KB Output is correct
4 Correct 67 ms 15344 KB Output is correct
5 Incorrect 58 ms 15380 KB Wrong Answer [6]
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 1536 KB Output is correct
2 Correct 1 ms 1536 KB Output is correct
3 Correct 2 ms 1792 KB Output is correct
4 Correct 2 ms 1792 KB Output is correct
5 Correct 2 ms 1792 KB Output is correct
6 Correct 2 ms 1792 KB Output is correct
7 Correct 2 ms 1792 KB Output is correct
8 Incorrect 2 ms 1792 KB Wrong Answer [3]
9 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 43 ms 11624 KB Output is correct
2 Correct 52 ms 12872 KB Output is correct
3 Correct 1 ms 1536 KB Output is correct
4 Correct 38 ms 11256 KB Output is correct
5 Correct 57 ms 13684 KB Output is correct
6 Incorrect 44 ms 12824 KB Wrong Answer [3]
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 44 ms 11420 KB Output is correct
2 Correct 48 ms 12644 KB Output is correct
3 Correct 2 ms 1536 KB Output is correct
4 Correct 38 ms 11448 KB Output is correct
5 Correct 56 ms 13812 KB Output is correct
6 Incorrect 44 ms 12796 KB Wrong Answer [3]
7 Halted 0 ms 0 KB -