#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;
}
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;
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(y[0]>y[1] and y[1]!=0){
nalazi=4;
prvipot=false;
if(y[1]!=0)
return 1;
else
return -1;
}
if(y[0]<y[1] and y[0]!=0){
nalazi=4;
prvipot=false;
if(y[0]!=0)
return 0;
else
return -1;
}
if(y[0]==0 and y[1]>1+prvipot)
return -1;
if(y[1]==0 and y[0]>1+prvipot)
return -1;
if(nalazi==0){
prvipot=false;
if(y[0]==0 and y[1]==1){
nalazi=4;
return 1;
}
if(y[1]==0 and y[0]==1){
nalazi=4;
return 0;
}
nalazi++;
if(y[0]==2){
T+="00";
return 0;
}
if(y[1]==2){
T+="11";
return 1;
}
T+="01";
return 1;
}
if(nalazi==1 or nalazi==2){
if(y[0]==1){
T+="0";
nalazi++;
return 0;
}
T+="1";
nalazi++;
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)
return 0;
return 1;
}
if(y[0]==0){
nalazi=4;
return 1;
}
if(y[1]==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:48:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
48 | for(int i=0;i<graf[gde].size();i++){
| ~^~~~~~~~~~~~~~~~~
Anthony.cpp:55:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
55 | for(int i=0;i<E.size();i++)
| ~^~~~~~~~~
Anthony.cpp:62:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
62 | 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++)
| ~~~^~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
32 ms |
15748 KB |
Output is correct |
2 |
Correct |
1 ms |
1028 KB |
Output is correct |
3 |
Correct |
24 ms |
15096 KB |
Output is correct |
4 |
Correct |
37 ms |
16924 KB |
Output is correct |
5 |
Correct |
33 ms |
16856 KB |
Output is correct |
6 |
Correct |
26 ms |
15548 KB |
Output is correct |
7 |
Correct |
27 ms |
15560 KB |
Output is correct |
8 |
Correct |
32 ms |
16280 KB |
Output is correct |
9 |
Correct |
43 ms |
16260 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
32 ms |
15748 KB |
Output is correct |
2 |
Correct |
1 ms |
1028 KB |
Output is correct |
3 |
Correct |
24 ms |
15096 KB |
Output is correct |
4 |
Correct |
37 ms |
16924 KB |
Output is correct |
5 |
Correct |
33 ms |
16856 KB |
Output is correct |
6 |
Correct |
26 ms |
15548 KB |
Output is correct |
7 |
Correct |
27 ms |
15560 KB |
Output is correct |
8 |
Correct |
32 ms |
16280 KB |
Output is correct |
9 |
Correct |
43 ms |
16260 KB |
Output is correct |
10 |
Correct |
29 ms |
13700 KB |
Output is correct |
11 |
Correct |
28 ms |
13672 KB |
Output is correct |
12 |
Correct |
32 ms |
13632 KB |
Output is correct |
13 |
Correct |
26 ms |
13660 KB |
Output is correct |
14 |
Correct |
30 ms |
13820 KB |
Output is correct |
15 |
Correct |
31 ms |
14208 KB |
Output is correct |
16 |
Correct |
37 ms |
16388 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
26 ms |
13348 KB |
Output is correct |
2 |
Correct |
1 ms |
1080 KB |
Output is correct |
3 |
Correct |
23 ms |
12852 KB |
Output is correct |
4 |
Correct |
48 ms |
14596 KB |
Output is correct |
5 |
Correct |
35 ms |
14748 KB |
Output is correct |
6 |
Correct |
26 ms |
13428 KB |
Output is correct |
7 |
Correct |
26 ms |
13352 KB |
Output is correct |
8 |
Correct |
39 ms |
14016 KB |
Output is correct |
9 |
Correct |
28 ms |
14036 KB |
Output is correct |
10 |
Correct |
26 ms |
13792 KB |
Output is correct |
11 |
Correct |
28 ms |
13772 KB |
Output is correct |
12 |
Correct |
34 ms |
13820 KB |
Output is correct |
13 |
Correct |
32 ms |
13720 KB |
Output is correct |
14 |
Correct |
31 ms |
14076 KB |
Output is correct |
15 |
Correct |
34 ms |
14008 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
26 ms |
13348 KB |
Output is correct |
2 |
Correct |
1 ms |
1080 KB |
Output is correct |
3 |
Correct |
23 ms |
12852 KB |
Output is correct |
4 |
Correct |
48 ms |
14596 KB |
Output is correct |
5 |
Correct |
35 ms |
14748 KB |
Output is correct |
6 |
Correct |
26 ms |
13428 KB |
Output is correct |
7 |
Correct |
26 ms |
13352 KB |
Output is correct |
8 |
Correct |
39 ms |
14016 KB |
Output is correct |
9 |
Correct |
28 ms |
14036 KB |
Output is correct |
10 |
Correct |
26 ms |
13792 KB |
Output is correct |
11 |
Correct |
28 ms |
13772 KB |
Output is correct |
12 |
Correct |
34 ms |
13820 KB |
Output is correct |
13 |
Correct |
32 ms |
13720 KB |
Output is correct |
14 |
Correct |
31 ms |
14076 KB |
Output is correct |
15 |
Correct |
34 ms |
14008 KB |
Output is correct |
16 |
Correct |
23 ms |
11796 KB |
Output is correct |
17 |
Correct |
23 ms |
11720 KB |
Output is correct |
18 |
Correct |
24 ms |
11776 KB |
Output is correct |
19 |
Correct |
24 ms |
11712 KB |
Output is correct |
20 |
Correct |
37 ms |
12484 KB |
Output is correct |
21 |
Correct |
25 ms |
12036 KB |
Output is correct |
22 |
Correct |
32 ms |
14096 KB |
Output is correct |
23 |
Correct |
25 ms |
11828 KB |
Output is correct |
24 |
Correct |
27 ms |
11844 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
2 ms |
1288 KB |
Wrong Answer [6] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
26 ms |
11128 KB |
Wrong Answer [6] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
22 ms |
11004 KB |
Wrong Answer [6] |
2 |
Halted |
0 ms |
0 KB |
- |