답안 #445220

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
445220 2021-07-16T22:47:00 Z flappybird 길고양이 (JOI20_stray) C++14
85 / 100
66 ms 21016 KB
#include "Anthony.h"
#include <vector>
using namespace std;
typedef int ll;
#define MAX 101010

namespace {
	vector<ll> adj[MAX], num[MAX], depth, deg;
	vector<ll> ret;
	ll asdf[6] = { 1, 1, 0, 1, 0, 0 };
	void dfs(ll x = 0, ll p = -1, ll d = 1, ll str = 0, ll chk = 0) {
		depth[x] = d;
		ll i;
		for (i = 0; i < (int)adj[x].size(); i++) {
			if (adj[x][i] == p) continue;
			if (deg[adj[x][i]] == 2) {
				if (!chk) {
					while (d != asdf[str % 6]) str++;
				}
				ret[num[x][i]] = asdf[str % 6];
				dfs(adj[x][i], x, !asdf[str % 6], str + 1, 1);
			}
			else {
				ret[num[x][i]] = d;
				dfs(adj[x][i], x, !d);
			}
		}
	}
}  // namespace

std::vector<int> Mark(int N, int M, int A, int B, std::vector<int> U, std::vector<int> V) {
	ret.resize(M);
	deg.resize(N);
	ll i;
	for (i = 0; i < M; i++) adj[U[i]].push_back(V[i]);
	for (i = 0; i < M; i++) num[U[i]].push_back(i);
	for (i = 0; i < M; i++) adj[V[i]].push_back(U[i]);
	for (i = 0; i < M; i++) num[V[i]].push_back(i);
	for (i = 0; i < M; i++) deg[U[i]]++, deg[V[i]]++;
	depth.resize(N);
	dfs();
	return ret;
}
#include "Catherine.h"
#include <bits/stdc++.h>
using namespace std;
typedef int ll;

namespace {

int A, B;
int variable_example = 0;
ll pv;
ll str;
ll last;
string up[6], down[6];

bool chk(string s) {
	for (ll i = 0; i < 6; i++) {
		if (s == up[i]) return true;
	}
	return false;
}

string s;

}  // namespace

void Init(int A, int B) {
	::A = A;
	::B = B;
	pv = -1;
	str = 0;
	last = 0;
	up[0] = "00101";
	up[1] = "01011";
	up[2] = "10110";
	up[3] = "01100";
	up[4] = "11001";
	up[5] = "10010";
}

int Move(std::vector<int> y) {
	if (pv != -1) {
		if ((y[0] + y[1] + 1) != 2) {
			str = 0;
			s.clear();
			last = 1;
			y[pv]++;
			if (y[0] == 1) {
				if (pv == 0) return -1;
				else return pv = 0;
			}
			else {
				if (pv == 1) return -1;
				else return pv = 1;
			}
		}
		else {
			if (!last) {
				str++;
				ll nxt;
				if (y[0]) nxt = 0;
				else nxt = 1;
				s.push_back(nxt + 48);
				if (str == 5) {
					if (chk(s)) {
						last = 1;
						str = 0;
						s.clear();
						return pv = nxt;
					}
					else {
						last = 1;
						str = 0;
						s.clear();
						return -1;
					}
				}
				else {
					return pv = nxt;
				}
			}
			else {
				if (!(y[0] + y[1])) return -1;
				if (y[0]) return pv = 0;
				else return pv = 1;
			}
		}
	}
	else {
		if ((y[0] + y[1]) != 2) {
			last = 1;
			if (!(y[0] + y[1])) return -1;
			if (y[0] == 1) return pv = 0;
			else return pv = 1;
		}
		else {
			if (y[0] == 2) {
				s.push_back('0');
				s.push_back('0');
				str += 2;
				return pv = 0;
			}
			else if (y[1] == 2) {
				s.push_back('1');
				s.push_back('1');
				str += 2;
				return pv = 1;
			}
			else {
				s.push_back('0');
				s.push_back('1');
				str += 2;
				return pv = 1;
			}
		}
	}
}

Compilation message

Catherine.cpp:9:5: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
    9 | int variable_example = 0;
      |     ^~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 47 ms 21016 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 47 ms 21016 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 47 ms 18640 KB Output is correct
2 Correct 3 ms 5228 KB Output is correct
3 Correct 39 ms 17520 KB Output is correct
4 Correct 57 ms 20428 KB Output is correct
5 Incorrect 54 ms 20364 KB Wrong Answer [6]
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 47 ms 18640 KB Output is correct
2 Correct 3 ms 5228 KB Output is correct
3 Correct 39 ms 17520 KB Output is correct
4 Correct 57 ms 20428 KB Output is correct
5 Incorrect 54 ms 20364 KB Wrong Answer [6]
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 5616 KB Output is correct
2 Correct 3 ms 5228 KB Output is correct
3 Correct 4 ms 5616 KB Output is correct
4 Correct 4 ms 5620 KB Output is correct
5 Correct 4 ms 5616 KB Output is correct
6 Correct 4 ms 5616 KB Output is correct
7 Correct 4 ms 5612 KB Output is correct
8 Correct 4 ms 5616 KB Output is correct
9 Correct 4 ms 5616 KB Output is correct
10 Correct 4 ms 5624 KB Output is correct
11 Correct 4 ms 5624 KB Output is correct
12 Correct 4 ms 5512 KB Output is correct
13 Correct 4 ms 5616 KB Output is correct
14 Correct 4 ms 5612 KB Output is correct
15 Correct 5 ms 5616 KB Output is correct
16 Correct 4 ms 5616 KB Output is correct
17 Correct 4 ms 5616 KB Output is correct
18 Correct 5 ms 5624 KB Output is correct
19 Correct 4 ms 5616 KB Output is correct
20 Correct 4 ms 5616 KB Output is correct
21 Correct 4 ms 5616 KB Output is correct
22 Correct 5 ms 5616 KB Output is correct
23 Correct 4 ms 5616 KB Output is correct
24 Correct 4 ms 5620 KB Output is correct
25 Correct 4 ms 5624 KB Output is correct
26 Correct 4 ms 5624 KB Output is correct
27 Correct 4 ms 5616 KB Output is correct
28 Correct 4 ms 5564 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 41 ms 16080 KB Output is correct
2 Correct 53 ms 17452 KB Output is correct
3 Correct 3 ms 5216 KB Output is correct
4 Correct 39 ms 16060 KB Output is correct
5 Correct 57 ms 18904 KB Output is correct
6 Correct 54 ms 18868 KB Output is correct
7 Correct 46 ms 17928 KB Output is correct
8 Correct 49 ms 18388 KB Output is correct
9 Correct 66 ms 19264 KB Output is correct
10 Correct 54 ms 19280 KB Output is correct
11 Correct 54 ms 19316 KB Output is correct
12 Correct 56 ms 19304 KB Output is correct
13 Correct 56 ms 19240 KB Output is correct
14 Correct 54 ms 19340 KB Output is correct
15 Correct 52 ms 19248 KB Output is correct
16 Correct 53 ms 19200 KB Output is correct
17 Correct 50 ms 19028 KB Output is correct
18 Correct 54 ms 19012 KB Output is correct
19 Correct 52 ms 19056 KB Output is correct
20 Correct 50 ms 19048 KB Output is correct
21 Correct 52 ms 19052 KB Output is correct
22 Correct 50 ms 19040 KB Output is correct
23 Correct 43 ms 16600 KB Output is correct
24 Correct 43 ms 16664 KB Output is correct
25 Correct 45 ms 17044 KB Output is correct
26 Correct 46 ms 17108 KB Output is correct
27 Correct 51 ms 17828 KB Output is correct
28 Correct 49 ms 17960 KB Output is correct
29 Correct 48 ms 18048 KB Output is correct
30 Correct 50 ms 18016 KB Output is correct
31 Correct 43 ms 16624 KB Output is correct
32 Correct 44 ms 16616 KB Output is correct
33 Correct 43 ms 16856 KB Output is correct
34 Correct 49 ms 17064 KB Output is correct
35 Correct 50 ms 17792 KB Output is correct
36 Correct 52 ms 17796 KB Output is correct
37 Correct 48 ms 17784 KB Output is correct
38 Correct 49 ms 17816 KB Output is correct
39 Correct 49 ms 17824 KB Output is correct
40 Correct 48 ms 17772 KB Output is correct
41 Correct 51 ms 18456 KB Output is correct
42 Correct 51 ms 18384 KB Output is correct
43 Correct 51 ms 18476 KB Output is correct
44 Correct 50 ms 18416 KB Output is correct
45 Correct 55 ms 18376 KB Output is correct
46 Correct 53 ms 18424 KB Output is correct
47 Correct 50 ms 17468 KB Output is correct
48 Correct 47 ms 17520 KB Output is correct
49 Correct 52 ms 17536 KB Output is correct
50 Correct 49 ms 17564 KB Output is correct
51 Correct 45 ms 16844 KB Output is correct
52 Correct 46 ms 16908 KB Output is correct
53 Correct 49 ms 16776 KB Output is correct
54 Correct 45 ms 16740 KB Output is correct
55 Correct 45 ms 16844 KB Output is correct
56 Correct 45 ms 16872 KB Output is correct
57 Correct 45 ms 16920 KB Output is correct
58 Correct 45 ms 16932 KB Output is correct
59 Correct 45 ms 16776 KB Output is correct
60 Correct 44 ms 16776 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 41 ms 16256 KB Output is correct
2 Correct 50 ms 17244 KB Output is correct
3 Correct 3 ms 5308 KB Output is correct
4 Correct 40 ms 15824 KB Output is correct
5 Correct 55 ms 18776 KB Output is correct
6 Correct 64 ms 18868 KB Output is correct
7 Correct 46 ms 17920 KB Output is correct
8 Correct 47 ms 18440 KB Output is correct
9 Correct 55 ms 19304 KB Output is correct
10 Correct 55 ms 19344 KB Output is correct
11 Correct 54 ms 19336 KB Output is correct
12 Correct 54 ms 19312 KB Output is correct
13 Correct 59 ms 19356 KB Output is correct
14 Correct 54 ms 19172 KB Output is correct
15 Correct 52 ms 19352 KB Output is correct
16 Correct 58 ms 19240 KB Output is correct
17 Correct 51 ms 19100 KB Output is correct
18 Correct 51 ms 19020 KB Output is correct
19 Correct 50 ms 19012 KB Output is correct
20 Correct 52 ms 19016 KB Output is correct
21 Correct 50 ms 18912 KB Output is correct
22 Correct 49 ms 18928 KB Output is correct
23 Correct 41 ms 16624 KB Output is correct
24 Correct 41 ms 16660 KB Output is correct
25 Correct 43 ms 17064 KB Output is correct
26 Correct 44 ms 16976 KB Output is correct
27 Correct 52 ms 17956 KB Output is correct
28 Correct 50 ms 17988 KB Output is correct
29 Correct 51 ms 18012 KB Output is correct
30 Correct 51 ms 17940 KB Output is correct
31 Correct 46 ms 16544 KB Output is correct
32 Correct 45 ms 16568 KB Output is correct
33 Correct 45 ms 17020 KB Output is correct
34 Correct 46 ms 17112 KB Output is correct
35 Correct 47 ms 17792 KB Output is correct
36 Correct 49 ms 17840 KB Output is correct
37 Correct 48 ms 17844 KB Output is correct
38 Correct 48 ms 17732 KB Output is correct
39 Correct 53 ms 17760 KB Output is correct
40 Correct 49 ms 17768 KB Output is correct
41 Correct 49 ms 18400 KB Output is correct
42 Correct 54 ms 18376 KB Output is correct
43 Correct 52 ms 18420 KB Output is correct
44 Correct 51 ms 18452 KB Output is correct
45 Correct 52 ms 18400 KB Output is correct
46 Correct 52 ms 18348 KB Output is correct
47 Correct 49 ms 17512 KB Output is correct
48 Correct 54 ms 17560 KB Output is correct
49 Correct 48 ms 17376 KB Output is correct
50 Correct 49 ms 17584 KB Output is correct
51 Correct 45 ms 16860 KB Output is correct
52 Correct 46 ms 16788 KB Output is correct
53 Correct 44 ms 16808 KB Output is correct
54 Correct 44 ms 16872 KB Output is correct
55 Correct 45 ms 17016 KB Output is correct
56 Correct 45 ms 16840 KB Output is correct
57 Correct 45 ms 16944 KB Output is correct
58 Correct 45 ms 16944 KB Output is correct
59 Correct 47 ms 16812 KB Output is correct
60 Correct 45 ms 16768 KB Output is correct