#include "Anthony.h"
#include <bits/stdc++.h>
#define ll long long
using namespace std;
vector<int> graf[20005];
int dist[20005],sta[20005];
queue<int> Q;
string E;
int N;
bool prosli[20005];
void BFS(int gde){
for(int i=0;i<=N;i++)
dist[i]=-1;
dist[gde]=0;
Q.push(gde);
while(Q.size()){
int tren=Q.front();
Q.pop();
if(prosli[tren])
continue;
//cout<<tren<<endl;
prosli[tren]=true;
for(int i=0;i<graf[tren].size();i++)
if(dist[graf[tren][i]]==-1){
dist[graf[tren][i]]=dist[tren]+1;
Q.push(graf[tren][i]);
}
}
return;
}
void dfs2(int gde,int pret,int cyc){
if(gde==pret){
for(int i=0;i<graf[gde].size();i++){
dfs2(graf[gde][i],gde,0);
}
return;
}
// cout<<gde<<" "<<cyc<<endl;
if(cyc==16)
sta[gde]=0;
if(cyc==32)
sta[gde]=1;
if(cyc<=5)
sta[gde]=E[cyc]-'0';
if(graf[gde].size()>2){
if(sta[gde]==1)
cyc=16;
else
cyc=32;
for(int i=0;i<graf[gde].size();i++){
if(graf[gde][i]!=pret)
dfs2(graf[gde][i],gde,cyc);
}
return;
}
if(cyc>=16)
for(int i=0;i<E.size();i++)
if(E[i]==sta[gde]+'0'){
cyc=i;
}
cyc++;
if(cyc==6)
cyc=0;
for(int i=0;i<graf[gde].size();i++)
if(graf[gde][i]!=pret)
dfs2(graf[gde][i],gde,cyc);
return;
}
vector<int> Mark(int n, int M, int A, int B, vector<int> U,vector<int> V) {
N=n;
for(int i=0;i<M;i++){
graf[U[i]].push_back(V[i]);
graf[V[i]].push_back(U[i]);
}
BFS(0);
/*for(int i=0;i<N;i++)
cout<<dist[i]<<" ";
cout<<endl;*/
if(A==2){
E="001011";
vector<int> R;
dfs2(0,0,-1);
for(int i=0;i<M;i++){
int koj;
if(dist[U[i]]>dist[V[i]])
koj=U[i];
else
koj=V[i];
R.push_back(sta[koj]);
}
return R;
}
string S="012";
vector<int> R;
for(int i=0;i<M;i++){
int md=min(dist[U[i]],dist[V[i]]);
R.push_back(S[md%3]-'0');
}
return R;
}
#include "Catherine.h"
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int slucaj,nalazi=0,pret=-1;
set<string> S;
void Init(int A, int B) {
if(A==2){
slucaj=2;
string x="001011";
x+=x;
x+=x;
for(int i=0;i+4<x.size();i++)
S.insert(x.substr(i,5));
}
else
slucaj=1;
}
bool prvipot=true;
string T;
int Move(std::vector<int> y) {
if(slucaj==1){
if(y[0]==0 and y[1]==0)
return 2;
if(y[0]==0 and y[2]==0)
return 1;
if(y[1]==0 and y[2]==0)
return 0;
if(y[0]==0)
return 1;
if(y[1]==0)
return 2;
return 0;
}
// cout<<"POTEZ "<<y[0]<<" "<<y[1]<<endl;
if(0==y[0] and y[1]==0){
nalazi=4;
prvipot=false;
return -1;
}
if(prvipot){
if(y[0]==1 and y[1]>1){
nalazi=4;
pret=0;
prvipot=false;
return 0;
}
if(y[1]==1 and y[0]>1){
nalazi=4;
pret=1;
prvipot=false;
return 1;
}
}
else{
if(pret==1 and y[1]==0 and y[0]>1){
nalazi=4;
return -1;
}
if(pret==0 and y[0]==0 and y[1]>1){
nalazi=4;
return -1;
}
if(pret==0 and y[1]==1 and y[0]>=1){
pret=1;
return 1;
}
if(pret==1 and y[0]==1 and y[1]>=1){
pret=0;
return 0;
}
}
if(nalazi==0){
prvipot=false;
if(y[0]==0 and y[1]==1){
nalazi=4;
pret=1;
return 1;
}
if(y[1]==0 and y[0]==1){
nalazi=4;
pret=0;
return 0;
}
nalazi++;
if(y[0]==2){
T+="00";
pret=0;
return 0;
}
if(y[1]==2){
T+="11";
pret=1;
return 1;
}
T+="01";
pret=1;
return 1;
}
if(nalazi==1 or nalazi==2){
if(y[0]==1){
T+="0";
nalazi++;
pret=0;
return 0;
}
T+="1";
nalazi++;
pret=1;
return 1;
}
if(nalazi==3){
if(y[0]==1)
T+="0";
else
T+="1";
//cout<<T<<endl;
nalazi++;
if(S.find(T)!=S.end()){
// cout<<"LOSE"<<endl;
return -1;
}
if(y[0]==1){
pret=0;
return 0;
}
pret=1;
return 1;
}
if(y[0]==0){
nalazi=4;
pret=1;
return 1;
}
if(y[1]==0){
pret=0;
return 0;
}
return -1;
}
Compilation message
Anthony.cpp: In function 'void BFS(int)':
Anthony.cpp:23:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
23 | for(int i=0;i<graf[tren].size();i++)
| ~^~~~~~~~~~~~~~~~~~
Anthony.cpp: In function 'void dfs2(int, int, int)':
Anthony.cpp:33:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
33 | for(int i=0;i<graf[gde].size();i++){
| ~^~~~~~~~~~~~~~~~~
Anthony.cpp:50:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
50 | for(int i=0;i<graf[gde].size();i++){
| ~^~~~~~~~~~~~~~~~~
Anthony.cpp:57:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
57 | for(int i=0;i<E.size();i++)
| ~^~~~~~~~~
Anthony.cpp:64:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
64 | for(int i=0;i<graf[gde].size();i++)
| ~^~~~~~~~~~~~~~~~~
Catherine.cpp: In function 'void Init(int, int)':
Catherine.cpp:13:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
13 | for(int i=0;i+4<x.size();i++)
| ~~~^~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
33 ms |
15516 KB |
Output is correct |
2 |
Correct |
0 ms |
1024 KB |
Output is correct |
3 |
Correct |
25 ms |
14772 KB |
Output is correct |
4 |
Correct |
34 ms |
16620 KB |
Output is correct |
5 |
Correct |
37 ms |
16580 KB |
Output is correct |
6 |
Correct |
28 ms |
15304 KB |
Output is correct |
7 |
Correct |
30 ms |
15300 KB |
Output is correct |
8 |
Correct |
30 ms |
16088 KB |
Output is correct |
9 |
Correct |
31 ms |
16032 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
33 ms |
15516 KB |
Output is correct |
2 |
Correct |
0 ms |
1024 KB |
Output is correct |
3 |
Correct |
25 ms |
14772 KB |
Output is correct |
4 |
Correct |
34 ms |
16620 KB |
Output is correct |
5 |
Correct |
37 ms |
16580 KB |
Output is correct |
6 |
Correct |
28 ms |
15304 KB |
Output is correct |
7 |
Correct |
30 ms |
15300 KB |
Output is correct |
8 |
Correct |
30 ms |
16088 KB |
Output is correct |
9 |
Correct |
31 ms |
16032 KB |
Output is correct |
10 |
Correct |
25 ms |
13444 KB |
Output is correct |
11 |
Correct |
31 ms |
13376 KB |
Output is correct |
12 |
Correct |
34 ms |
13340 KB |
Output is correct |
13 |
Correct |
28 ms |
13424 KB |
Output is correct |
14 |
Correct |
26 ms |
13676 KB |
Output is correct |
15 |
Correct |
28 ms |
14060 KB |
Output is correct |
16 |
Correct |
33 ms |
16140 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
26 ms |
13072 KB |
Output is correct |
2 |
Correct |
0 ms |
1024 KB |
Output is correct |
3 |
Correct |
24 ms |
12640 KB |
Output is correct |
4 |
Correct |
33 ms |
14452 KB |
Output is correct |
5 |
Correct |
34 ms |
14420 KB |
Output is correct |
6 |
Correct |
28 ms |
13020 KB |
Output is correct |
7 |
Correct |
33 ms |
13024 KB |
Output is correct |
8 |
Correct |
31 ms |
13736 KB |
Output is correct |
9 |
Correct |
28 ms |
13728 KB |
Output is correct |
10 |
Correct |
28 ms |
13452 KB |
Output is correct |
11 |
Correct |
27 ms |
13460 KB |
Output is correct |
12 |
Correct |
27 ms |
13576 KB |
Output is correct |
13 |
Correct |
26 ms |
13504 KB |
Output is correct |
14 |
Correct |
36 ms |
13916 KB |
Output is correct |
15 |
Correct |
40 ms |
13856 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
26 ms |
13072 KB |
Output is correct |
2 |
Correct |
0 ms |
1024 KB |
Output is correct |
3 |
Correct |
24 ms |
12640 KB |
Output is correct |
4 |
Correct |
33 ms |
14452 KB |
Output is correct |
5 |
Correct |
34 ms |
14420 KB |
Output is correct |
6 |
Correct |
28 ms |
13020 KB |
Output is correct |
7 |
Correct |
33 ms |
13024 KB |
Output is correct |
8 |
Correct |
31 ms |
13736 KB |
Output is correct |
9 |
Correct |
28 ms |
13728 KB |
Output is correct |
10 |
Correct |
28 ms |
13452 KB |
Output is correct |
11 |
Correct |
27 ms |
13460 KB |
Output is correct |
12 |
Correct |
27 ms |
13576 KB |
Output is correct |
13 |
Correct |
26 ms |
13504 KB |
Output is correct |
14 |
Correct |
36 ms |
13916 KB |
Output is correct |
15 |
Correct |
40 ms |
13856 KB |
Output is correct |
16 |
Correct |
24 ms |
11440 KB |
Output is correct |
17 |
Correct |
22 ms |
11504 KB |
Output is correct |
18 |
Correct |
24 ms |
11512 KB |
Output is correct |
19 |
Correct |
32 ms |
11544 KB |
Output is correct |
20 |
Correct |
27 ms |
12136 KB |
Output is correct |
21 |
Correct |
27 ms |
11836 KB |
Output is correct |
22 |
Correct |
30 ms |
14048 KB |
Output is correct |
23 |
Correct |
25 ms |
11576 KB |
Output is correct |
24 |
Correct |
28 ms |
11516 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
1284 KB |
Output is correct |
2 |
Correct |
0 ms |
1032 KB |
Output is correct |
3 |
Correct |
2 ms |
1264 KB |
Output is correct |
4 |
Correct |
2 ms |
1284 KB |
Output is correct |
5 |
Correct |
2 ms |
1284 KB |
Output is correct |
6 |
Correct |
2 ms |
1296 KB |
Output is correct |
7 |
Correct |
2 ms |
1292 KB |
Output is correct |
8 |
Correct |
2 ms |
1284 KB |
Output is correct |
9 |
Correct |
2 ms |
1292 KB |
Output is correct |
10 |
Correct |
2 ms |
1284 KB |
Output is correct |
11 |
Correct |
1 ms |
1288 KB |
Output is correct |
12 |
Correct |
2 ms |
1284 KB |
Output is correct |
13 |
Correct |
1 ms |
1292 KB |
Output is correct |
14 |
Correct |
2 ms |
1292 KB |
Output is correct |
15 |
Correct |
2 ms |
1284 KB |
Output is correct |
16 |
Correct |
2 ms |
1288 KB |
Output is correct |
17 |
Correct |
2 ms |
1284 KB |
Output is correct |
18 |
Correct |
1 ms |
1284 KB |
Output is correct |
19 |
Correct |
2 ms |
1292 KB |
Output is correct |
20 |
Correct |
2 ms |
1292 KB |
Output is correct |
21 |
Correct |
2 ms |
1280 KB |
Output is correct |
22 |
Correct |
2 ms |
1292 KB |
Output is correct |
23 |
Correct |
2 ms |
1292 KB |
Output is correct |
24 |
Correct |
2 ms |
1284 KB |
Output is correct |
25 |
Correct |
2 ms |
1292 KB |
Output is correct |
26 |
Correct |
2 ms |
1292 KB |
Output is correct |
27 |
Correct |
2 ms |
1296 KB |
Output is correct |
28 |
Correct |
2 ms |
1284 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
30 ms |
11380 KB |
Output is correct |
2 |
Correct |
27 ms |
12448 KB |
Output is correct |
3 |
Correct |
1 ms |
1024 KB |
Output is correct |
4 |
Correct |
28 ms |
11196 KB |
Output is correct |
5 |
Correct |
33 ms |
13736 KB |
Output is correct |
6 |
Correct |
30 ms |
13808 KB |
Output is correct |
7 |
Correct |
26 ms |
12848 KB |
Output is correct |
8 |
Correct |
27 ms |
12908 KB |
Output is correct |
9 |
Correct |
30 ms |
13756 KB |
Output is correct |
10 |
Correct |
31 ms |
13804 KB |
Output is correct |
11 |
Correct |
36 ms |
13796 KB |
Output is correct |
12 |
Correct |
31 ms |
13800 KB |
Output is correct |
13 |
Correct |
33 ms |
13716 KB |
Output is correct |
14 |
Correct |
30 ms |
13724 KB |
Output is correct |
15 |
Correct |
32 ms |
13780 KB |
Output is correct |
16 |
Correct |
32 ms |
13872 KB |
Output is correct |
17 |
Correct |
27 ms |
13548 KB |
Output is correct |
18 |
Correct |
28 ms |
13476 KB |
Output is correct |
19 |
Correct |
31 ms |
13416 KB |
Output is correct |
20 |
Correct |
31 ms |
13576 KB |
Output is correct |
21 |
Correct |
27 ms |
13544 KB |
Output is correct |
22 |
Correct |
36 ms |
13488 KB |
Output is correct |
23 |
Correct |
25 ms |
11488 KB |
Output is correct |
24 |
Correct |
25 ms |
11360 KB |
Output is correct |
25 |
Correct |
28 ms |
11804 KB |
Output is correct |
26 |
Correct |
30 ms |
11748 KB |
Output is correct |
27 |
Correct |
27 ms |
12512 KB |
Output is correct |
28 |
Correct |
36 ms |
12496 KB |
Output is correct |
29 |
Correct |
32 ms |
12540 KB |
Output is correct |
30 |
Correct |
27 ms |
12516 KB |
Output is correct |
31 |
Correct |
24 ms |
11376 KB |
Output is correct |
32 |
Correct |
25 ms |
11396 KB |
Output is correct |
33 |
Correct |
26 ms |
11648 KB |
Output is correct |
34 |
Correct |
28 ms |
11712 KB |
Output is correct |
35 |
Correct |
32 ms |
12436 KB |
Output is correct |
36 |
Correct |
37 ms |
12292 KB |
Output is correct |
37 |
Correct |
28 ms |
12372 KB |
Output is correct |
38 |
Correct |
30 ms |
12412 KB |
Output is correct |
39 |
Correct |
27 ms |
12376 KB |
Output is correct |
40 |
Correct |
27 ms |
12444 KB |
Output is correct |
41 |
Correct |
27 ms |
13060 KB |
Output is correct |
42 |
Correct |
28 ms |
12980 KB |
Output is correct |
43 |
Correct |
33 ms |
12872 KB |
Output is correct |
44 |
Correct |
30 ms |
13060 KB |
Output is correct |
45 |
Correct |
37 ms |
13008 KB |
Output is correct |
46 |
Correct |
43 ms |
13000 KB |
Output is correct |
47 |
Correct |
27 ms |
12216 KB |
Output is correct |
48 |
Correct |
27 ms |
12264 KB |
Output is correct |
49 |
Correct |
26 ms |
12080 KB |
Output is correct |
50 |
Correct |
27 ms |
12244 KB |
Output is correct |
51 |
Correct |
25 ms |
11620 KB |
Output is correct |
52 |
Correct |
26 ms |
11588 KB |
Output is correct |
53 |
Correct |
38 ms |
11568 KB |
Output is correct |
54 |
Correct |
29 ms |
11568 KB |
Output is correct |
55 |
Correct |
24 ms |
11552 KB |
Output is correct |
56 |
Correct |
25 ms |
11636 KB |
Output is correct |
57 |
Correct |
24 ms |
11472 KB |
Output is correct |
58 |
Correct |
24 ms |
11472 KB |
Output is correct |
59 |
Correct |
24 ms |
11600 KB |
Output is correct |
60 |
Correct |
24 ms |
11480 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
25 ms |
11252 KB |
Output is correct |
2 |
Correct |
26 ms |
12180 KB |
Output is correct |
3 |
Correct |
1 ms |
1024 KB |
Output is correct |
4 |
Correct |
25 ms |
11220 KB |
Output is correct |
5 |
Correct |
33 ms |
13760 KB |
Output is correct |
6 |
Correct |
32 ms |
13768 KB |
Output is correct |
7 |
Correct |
27 ms |
12836 KB |
Output is correct |
8 |
Correct |
26 ms |
12932 KB |
Output is correct |
9 |
Correct |
44 ms |
13804 KB |
Output is correct |
10 |
Correct |
41 ms |
13784 KB |
Output is correct |
11 |
Correct |
33 ms |
13804 KB |
Output is correct |
12 |
Correct |
36 ms |
13836 KB |
Output is correct |
13 |
Correct |
30 ms |
13792 KB |
Output is correct |
14 |
Correct |
30 ms |
13724 KB |
Output is correct |
15 |
Correct |
32 ms |
13792 KB |
Output is correct |
16 |
Correct |
31 ms |
13780 KB |
Output is correct |
17 |
Correct |
34 ms |
13512 KB |
Output is correct |
18 |
Correct |
32 ms |
13448 KB |
Output is correct |
19 |
Correct |
28 ms |
13492 KB |
Output is correct |
20 |
Correct |
27 ms |
13544 KB |
Output is correct |
21 |
Correct |
28 ms |
13488 KB |
Output is correct |
22 |
Correct |
27 ms |
13544 KB |
Output is correct |
23 |
Correct |
25 ms |
11316 KB |
Output is correct |
24 |
Correct |
24 ms |
11284 KB |
Output is correct |
25 |
Correct |
26 ms |
11736 KB |
Output is correct |
26 |
Correct |
26 ms |
11756 KB |
Output is correct |
27 |
Correct |
33 ms |
12528 KB |
Output is correct |
28 |
Correct |
30 ms |
12396 KB |
Output is correct |
29 |
Correct |
27 ms |
12528 KB |
Output is correct |
30 |
Correct |
27 ms |
12520 KB |
Output is correct |
31 |
Correct |
23 ms |
11392 KB |
Output is correct |
32 |
Correct |
23 ms |
11424 KB |
Output is correct |
33 |
Correct |
27 ms |
11800 KB |
Output is correct |
34 |
Correct |
25 ms |
11768 KB |
Output is correct |
35 |
Correct |
27 ms |
12464 KB |
Output is correct |
36 |
Correct |
29 ms |
12484 KB |
Output is correct |
37 |
Correct |
35 ms |
12348 KB |
Output is correct |
38 |
Correct |
38 ms |
12432 KB |
Output is correct |
39 |
Correct |
31 ms |
12424 KB |
Output is correct |
40 |
Correct |
27 ms |
12348 KB |
Output is correct |
41 |
Correct |
27 ms |
13040 KB |
Output is correct |
42 |
Correct |
27 ms |
12996 KB |
Output is correct |
43 |
Correct |
28 ms |
13008 KB |
Output is correct |
44 |
Correct |
30 ms |
13020 KB |
Output is correct |
45 |
Correct |
30 ms |
13072 KB |
Output is correct |
46 |
Correct |
28 ms |
13112 KB |
Output is correct |
47 |
Correct |
27 ms |
12264 KB |
Output is correct |
48 |
Correct |
27 ms |
12224 KB |
Output is correct |
49 |
Correct |
27 ms |
12088 KB |
Output is correct |
50 |
Correct |
28 ms |
12248 KB |
Output is correct |
51 |
Correct |
28 ms |
11604 KB |
Output is correct |
52 |
Correct |
25 ms |
11708 KB |
Output is correct |
53 |
Correct |
27 ms |
11476 KB |
Output is correct |
54 |
Correct |
26 ms |
11624 KB |
Output is correct |
55 |
Correct |
26 ms |
12040 KB |
Output is correct |
56 |
Correct |
27 ms |
12000 KB |
Output is correct |
57 |
Correct |
25 ms |
11984 KB |
Output is correct |
58 |
Correct |
25 ms |
11856 KB |
Output is correct |
59 |
Correct |
26 ms |
12088 KB |
Output is correct |
60 |
Correct |
26 ms |
11896 KB |
Output is correct |