답안 #522032

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
522032 2022-02-03T15:48:12 Z new_acc 길고양이 (JOI20_stray) C++14
15 / 100
55 ms 17836 KB
#include "Anthony.h"
#include<bits/stdc++.h>
#define fi first
#define se second
#define rep(a, b) for(size_t a = 0; a < (size_t)(b); a++)
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
const int N=2e4+10;
int deg[N],kol[N],kt[N];
bool vis[N];
vi graf[N],num[N];
string s="010011";
void bfs(){
	deque<int> deq;
	deq.push_back(0),vis[0]=1;
	while(deq.size()){
		int v=deq.front();
		deq.pop_front();
		for(auto u:graf[v]){
			if(!vis[u]){
				deg[u]=deg[v]+1,vis[u]=1;
				deq.push_back(u);
			}
		}
	}
}
void dfs(int v,int o,int pop=1){
	if(graf[v].size()>2 or graf[v].size()==1){
		rep(i,graf[v].size()){
			if(graf[v][i]==o) continue;
			kol[num[v][i]]=(pop+1)%2;
		}
	}else{
		if(kt[o]==0 and pop==1) kt[v]=0;
		else kt[v]=(kt[o]+1)%(int)(s.size());
		rep(i,graf[v].size()){
			if(graf[v][i]==o) continue;
			kol[num[v][i]]=int(s[kt[v]])-48;
		}
	}
	rep(i,graf[v].size()){
		int u=graf[v][i];
		if(u==o) continue;
		dfs(u,v,kol[num[v][i]]);
	}
}
vi Mark(int n,int m,int a,int b,vi u,vi v){
	rep(i,m) graf[u[i]].push_back(v[i]),graf[v[i]].push_back(u[i]),num[u[i]].push_back(i),num[v[i]].push_back(i);
	if(b==0){
		bfs();
		rep(i,n) kol[i]=(i==0?0:(kol[i-1]+1)%3);
		vi res;
		rep(i,m) res.push_back(kol[min(deg[u[i]],deg[v[i]])]);
		return res;
	}
	vi wyn;
	rep(i,m) wyn.push_back(kol[i]);
	return wyn;
}
#include "Catherine.h"
#include<bits/stdc++.h>
#define fi first
#define se second
#define rep(a, b) for(size_t a = 0; a < (size_t)(b); a++)
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
const int N=2e4+10;
int il;
bool strona=0;
int ru=0,wyb,pocz=-1,pop=0;
bool znal;
string s;
string og="010011";
string d1="01001",d2="10011",d3="00110",d4="01101",d5="11010",d6="10100";
void Init(int a,int b){
	il=a;
}
int Move(vi t){
	if(il>=3){
		bool c[3];
		c[0]=c[1]=c[2]=0;
		rep(i,t.size()) c[i]=(t[i]>0?1:0);
		if(c[0]>0 and c[1]>0) return 0;
		if(c[1]>0 and c[2]>0) return 1;
		if(c[2]>0 and c[0]>0) return 2;
		if(c[0]) return 0;
		if(c[1]) return 1;
		return 2;
	}
	if(pocz==-1){
		pocz=1;
		if(t[0] and t[1]){
			if(t[0]+t[1]>2){
				strona=1;
				if(t[0]==1){pop=0;return 0;}
				pop=1;
				return 1;
			}
			wyb=0,ru++;
			s+='1',s+='0';
			pop=0;
			return 0;
		}else{
			strona=1;
			wyb=-1;
			if(t[0]) {pop=0;return 0;}
			pop=1;
			return 1;
		}
	}else{
		if(strona){
			if(t[0] and t[1]){
				(pop+=1)%=2;
				return pop;
			}else{
				if(t[0]){pop=0;return 0;}
				pop=1;
				return 1;
			}
		}else{
			if(ru==0){
				strona=1;
				pop=(t[0]>0?0:1);
				return pop;
			}
			if((t[0]>1 and !t[1]) or (t[1]>1 and !t[0])) znal=1;
			if(znal){
				ru--;
				return -1;
			}
			if(t[0] and t[1]){
				strona=1;
				(pop+=1)%=2;
				return pop;
			}
			if(ru==3){
				if(t[0]) s+='0';
				if(t[1]) s+='1';
				if(s==d1 or s==d2 or s==d3 or s==d4 or s==d5 or s==d6){
					strona=1;
					if(t[0]) pop=0;
					else pop=1;
					return pop;
				}else{
					ru--;
					znal=1;
					return -1;
				}
			}
		}
	}
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 38 ms 16680 KB Output is correct
2 Correct 1 ms 1516 KB Output is correct
3 Correct 34 ms 16104 KB Output is correct
4 Correct 46 ms 17836 KB Output is correct
5 Correct 46 ms 17812 KB Output is correct
6 Correct 43 ms 16552 KB Output is correct
7 Correct 43 ms 16456 KB Output is correct
8 Correct 50 ms 17176 KB Output is correct
9 Correct 44 ms 17192 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 38 ms 16680 KB Output is correct
2 Correct 1 ms 1516 KB Output is correct
3 Correct 34 ms 16104 KB Output is correct
4 Correct 46 ms 17836 KB Output is correct
5 Correct 46 ms 17812 KB Output is correct
6 Correct 43 ms 16552 KB Output is correct
7 Correct 43 ms 16456 KB Output is correct
8 Correct 50 ms 17176 KB Output is correct
9 Correct 44 ms 17192 KB Output is correct
10 Correct 35 ms 14488 KB Output is correct
11 Correct 35 ms 14544 KB Output is correct
12 Correct 33 ms 14452 KB Output is correct
13 Correct 35 ms 14412 KB Output is correct
14 Correct 41 ms 14668 KB Output is correct
15 Correct 40 ms 14988 KB Output is correct
16 Correct 46 ms 17328 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 34 ms 14300 KB Output is correct
2 Correct 1 ms 1512 KB Output is correct
3 Correct 31 ms 13940 KB Output is correct
4 Correct 44 ms 15644 KB Output is correct
5 Correct 55 ms 15568 KB Output is correct
6 Correct 37 ms 14248 KB Output is correct
7 Correct 38 ms 14316 KB Output is correct
8 Correct 40 ms 14832 KB Output is correct
9 Correct 40 ms 14896 KB Output is correct
10 Correct 37 ms 14656 KB Output is correct
11 Correct 41 ms 14656 KB Output is correct
12 Correct 41 ms 14656 KB Output is correct
13 Correct 40 ms 14648 KB Output is correct
14 Correct 43 ms 14872 KB Output is correct
15 Correct 39 ms 15056 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 34 ms 14300 KB Output is correct
2 Correct 1 ms 1512 KB Output is correct
3 Correct 31 ms 13940 KB Output is correct
4 Correct 44 ms 15644 KB Output is correct
5 Correct 55 ms 15568 KB Output is correct
6 Correct 37 ms 14248 KB Output is correct
7 Correct 38 ms 14316 KB Output is correct
8 Correct 40 ms 14832 KB Output is correct
9 Correct 40 ms 14896 KB Output is correct
10 Correct 37 ms 14656 KB Output is correct
11 Correct 41 ms 14656 KB Output is correct
12 Correct 41 ms 14656 KB Output is correct
13 Correct 40 ms 14648 KB Output is correct
14 Correct 43 ms 14872 KB Output is correct
15 Correct 39 ms 15056 KB Output is correct
16 Correct 31 ms 12628 KB Output is correct
17 Correct 30 ms 12700 KB Output is correct
18 Correct 32 ms 12624 KB Output is correct
19 Correct 36 ms 12680 KB Output is correct
20 Correct 40 ms 13180 KB Output is correct
21 Correct 37 ms 12916 KB Output is correct
22 Correct 39 ms 15180 KB Output is correct
23 Correct 32 ms 12588 KB Output is correct
24 Correct 33 ms 12652 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 1780 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 40 ms 11920 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 34 ms 11856 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -