Submission #261121

# Submission time Handle Problem Language Result Execution time Memory
261121 2020-08-11T12:09:49 Z sjimed Stray Cat (JOI20_stray) C++14
5 / 100
75 ms 18024 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;
    else return prv = y[1];
  }

  if(d == 1) {
    flag = true;
    if(prv != -1) return -1;
    return prv = y[1];
  }

  if(d >= 3 && y[1] == 1) {
    flag = true;
    if(prv == 1) return -1;
    return prv = 1;
  }
  if(d >= 3 && y[0] == 1) {
    flag = true;
    if(prv == 0) return -1;
    return prv = 0;
  }

  if(cnt == 1) {
    if(y[1]) prv = 1;
    else prv = 0;

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

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

    mask <<= 1;
    mask |= y[1];
    mask &= 31;

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

Compilation message

Catherine.cpp: In function 'int Move(std::vector<int>)':
Catherine.cpp:61:19: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
     mask |= (y[1] - prv << 1);
Catherine.cpp:85:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
# Verdict Execution time Memory Grader output
1 Correct 61 ms 16324 KB Output is correct
2 Correct 1 ms 1536 KB Output is correct
3 Correct 41 ms 15156 KB Output is correct
4 Correct 75 ms 17868 KB Output is correct
5 Incorrect 69 ms 18024 KB Wrong Answer [6]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 61 ms 16324 KB Output is correct
2 Correct 1 ms 1536 KB Output is correct
3 Correct 41 ms 15156 KB Output is correct
4 Correct 75 ms 17868 KB Output is correct
5 Incorrect 69 ms 18024 KB Wrong Answer [6]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 52 ms 13692 KB Output is correct
2 Correct 1 ms 1536 KB Output is correct
3 Correct 47 ms 12856 KB Output is correct
4 Correct 58 ms 15348 KB Output is correct
5 Incorrect 56 ms 15372 KB Wrong Answer [6]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 52 ms 13692 KB Output is correct
2 Correct 1 ms 1536 KB Output is correct
3 Correct 47 ms 12856 KB Output is correct
4 Correct 58 ms 15348 KB Output is correct
5 Incorrect 56 ms 15372 KB Wrong Answer [6]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1536 KB Output is correct
2 Correct 2 ms 1536 KB Output is correct
3 Correct 2 ms 1536 KB Output is correct
4 Correct 2 ms 1792 KB Output is correct
5 Correct 2 ms 1792 KB Output is correct
6 Correct 3 ms 1792 KB Output is correct
7 Correct 2 ms 1792 KB Output is correct
8 Correct 2 ms 1792 KB Output is correct
9 Correct 2 ms 1792 KB Output is correct
10 Correct 2 ms 1792 KB Output is correct
11 Correct 2 ms 1792 KB Output is correct
12 Correct 2 ms 1536 KB Output is correct
13 Correct 2 ms 1536 KB Output is correct
14 Correct 2 ms 1792 KB Output is correct
15 Correct 2 ms 1792 KB Output is correct
16 Correct 2 ms 1536 KB Output is correct
17 Correct 2 ms 1536 KB Output is correct
18 Correct 2 ms 1536 KB Output is correct
19 Correct 2 ms 1536 KB Output is correct
20 Correct 2 ms 1536 KB Output is correct
21 Correct 2 ms 1536 KB Output is correct
22 Correct 2 ms 1536 KB Output is correct
23 Correct 2 ms 1536 KB Output is correct
24 Correct 2 ms 1536 KB Output is correct
25 Correct 3 ms 1536 KB Output is correct
26 Correct 2 ms 1536 KB Output is correct
27 Correct 2 ms 1536 KB Output is correct
28 Correct 2 ms 1536 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 43 ms 11616 KB Output is correct
2 Incorrect 43 ms 12028 KB Wrong Answer [5]
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 50 ms 11576 KB Output is correct
2 Incorrect 49 ms 12156 KB Wrong Answer [5]
3 Halted 0 ms 0 KB -