Submission #261102

# Submission time Handle Problem Language Result Execution time Memory
261102 2020-08-11T11:38:29 Z sjimed Stray Cat (JOI20_stray) C++14
0 / 100
49 ms 15888 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[k];
    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);

  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++; 

  if(prv != -1) y[prv]++;

  if(flag) return prv = 1 - prv;

  if(y[0] + y[1] == 1) {
    flag = true;
    if(1 || prv != -1) return -1;
    return prv = y[1];
  }
  if(y[0] > y[1] && y[1]) {
    flag = true;
    if(1 || prv == 1) return -1;
    return prv = 1;
  }
  if(y[1] > y[0] && y[0]) {
    flag = true;
    if(1 || prv == 0) return -1;
    return prv = 0;
  }

  if(cnt == 1) {
    prv = (y[1] > 0);
    mask |= (y[1] - prv) << 1;
    mask |= prv;
    return prv;
  }
  
  if(cnt <= 3) {
    mask <<= 1;
    mask |= y[1] - prv;
    return y[1] - prv;
  }
  
  if(cnt == 4) {
    flag = true;

    mask <<= 1;
    mask |= y[1] - prv;

    if(mask==25 || mask == 18 || mask == 5 || mask == 11 || mask == 22 || mask == 12) 
      return prv = y[1] - prv;
    else
      return -1;
  }
}

Compilation message

Catherine.cpp: In function 'int Move(std::vector<int>)':
Catherine.cpp:75:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
# Verdict Execution time Memory Grader output
1 Incorrect 49 ms 15888 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 49 ms 15888 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 43 ms 13740 KB Wrong Answer [4]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 43 ms 13740 KB Wrong Answer [4]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1536 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 44 ms 11612 KB Wrong Answer [4]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 41 ms 11732 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -