#include "Anthony.h"
#include <vector>
#include<iostream>
#include<stack>
#include<map>
#include<vector>
#include<string>
#include<cassert>
#include<unordered_map>
#include <queue>
#include <cstdint>
#include<cstring>
#include<limits.h>
#include<cmath>
#include<set>
#include<algorithm>
#include <iomanip>
#include<numeric>
#include<bitset>
using namespace std;
#define ll long long
#define f first
#define s second
#define pii pair<int,int>
#define ppii pair<int,pii>
#define vi vector<int>
#define pb push_back
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define F(n) for(int i=0;i<n;i++)
#define lb lower_bound
#define ub upper_bound
#define fastio ios::sync_with_stdio(false);cin.tie(NULL);
#pragma GCC optimize ("03,unroll-lopps")
using namespace std;
namespace {
int FunctionExample(int i, int A) {
return i % A;
}
} // namespace
vector<int> Mark(int n,int m, int a, int b,vector<int> U,vector<int> V) {
vector<int> X(m);
vector<int>lvl(n+1,1e9),vis(n,0);
vector<vector<pii>>adj(n);
for(int i=0;i<m;i++){
adj[U[i]].pb({V[i],i}),adj[V[i]].pb({U[i],i});
}
queue<int>q;
lvl[0]=0;
q.push(0);
while(!q.empty()){
int cur=q.front();
q.pop();
if(vis[cur])continue;
vis[cur]=1;
for(auto i:adj[cur])if(!vis[i.f]&&lvl[i.f]>lvl[cur]+1){
lvl[i.f]=lvl[cur]+1;
q.push(i.f);
}
}
if(a>=3){
for(int i=0;i<n;i++)for(auto j:adj[i]){
if(lvl[j.f]<lvl[i])X[j.s]=(lvl[j.f]%3);
else X[j.s]=lvl[i]%3;
}
}
else{
//0 0 1 1 0 1
//1 1 0 1 0 0
vector<int>pat={0,0,1,1,0,1};
vector<int>val(n,0);
function<void(int,int,int)> dfs=[&](int cur,int p,int c){
for(auto i:adj[cur])if(i.f!=p){
if(val[cur]>1)assert(0);
if(adj[cur].size()>2){
c=0;
val[i.f]=(val[cur]^1);
X[i.s]=val[i.f];
dfs(i.f,cur,c);
}
else{
if(c==0){
val[i.f]=(val[cur]^1);
if(val[i.f])c=2;
if(cur)c++;
X[i.s]=val[i.f];
dfs(i.f,cur,c+1);
}
else{
val[i.f]=pat[c%6];
X[i.s]=val[i.f];
dfs(i.f,cur,c+1);
}
}
}
};
dfs(0,-1,0);
}
//for(int i=0;i<m;i++)cout<<U[i]<<" "<<V[i]<<" "<<X[i]<<'\n';
return X;
}
#include "Catherine.h"
#include <vector>
#include<iostream>
#include<stack>
#include<map>
#include<vector>
#include<string>
#include<cassert>
#include<unordered_map>
#include <queue>
#include <cstdint>
#include<cstring>
#include<limits.h>
#include<cmath>
#include<set>
#include<algorithm>
#include <iomanip>
#include<numeric>
#include<bitset>
using namespace std;
#define ll long long
#define f first
#define s second
#define pii pair<int,int>
#define ppii pair<int,pii>
#define vi vector<int>
#define pb push_back
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define F(n) for(int i=0;i<n;i++)
#define lb lower_bound
#define ub upper_bound
#define fastio ios::sync_with_stdio(false);cin.tie(NULL);
#pragma GCC optimize ("03,unroll-lopps")
using namespace std;
using namespace std;
namespace {
int a, b;
int variable_example = 0;
int found=0;
int add[40000];
deque<int>cor={1,0,1,1,0,0};
vector<int>have;
int st=0,last=0;
}
void Init(int A, int B){
::a = A;
::b = B;
found=0;
have.clear();
}
int Move(vector<int> y){
int cnt=0;
for(auto i:y)cnt+=!!i;
if(a>=3){
if(cnt==0)assert(0);
if(cnt==1){
for(int i=0;i<y.size();i++)if(y[i])return i;
}
if(cnt==2){
if(y[0]&&y[2])return 2;
if(y[1]&&y[2])return 1;
if(y[0]&&y[1])return 0;
}
assert(0);
}
else{
int one=0,two=0;
if(st==0){
for(int i=0;i<y.size();i++)if(y[i]==1)one++;
if(one==1){
st=1;
found=1;
for(int i=0;i<y.size();i++)if(y[i]==1)return last=i;
}
else{
st=1;
for(int i=0;i<y.size();i++)if(y[i]){
have.pb(i);
return last=i;
}
}
st=1;
}
if(!found){
if(cnt==0){
found=1;
return -1;
}
y[last]++;
for(int i=0;i<y.size();i++)if(y[i]>=2)two++;
if(two){
found=1;
for(int i=0;i<y.size();i++)if(y[i]==1){
if(i!=last)return last=i;
return -1;
}
}
if(have.size()<6){
for(int i=0;i<y.size();i++)if(y[i]){
have.pb(i);
return last=i;
}
}
else{
int same=0;
for(int i=0;i<6;i++){
int yes=1;
for(int j=0;j<6;j++)if(have[j]!=cor[j])yes=0;
same|=yes;
cor.push_back(cor.front());
cor.pop_front();
}
found=1;
if(!same)return -1;
}
}
if(found){
for(int i=0;i<y.size();i++)if(y[i]==1)one++;
if(one==1){
for(int i=0;i<y.size();i++)if(y[i]==1)return last=i;
}
else{
y[last]++;
for(int i=0;i<y.size();i++)if(y[i]==1)return last=i;
}
}
}
assert(0);
return -1;
}
Compilation message
Anthony.cpp:34:40: warning: bad option '-funroll-lopps' to pragma 'optimize' [-Wpragmas]
34 | #pragma GCC optimize ("03,unroll-lopps")
| ^
Anthony.cpp:38:33: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
38 | int FunctionExample(int i, int A) {
| ^
Anthony.cpp:44:71: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
44 | vector<int> Mark(int n,int m, int a, int b,vector<int> U,vector<int> V) {
| ^
Anthony.cpp: In function 'std::vector<int> Mark(int, int, int, int, std::vector<int>, std::vector<int>)':
Anthony.cpp:75:60: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
75 | function<void(int,int,int)> dfs=[&](int cur,int p,int c){
| ^
Anthony.cpp: At global scope:
Anthony.cpp:38:5: warning: 'int {anonymous}::FunctionExample(int, int)' defined but not used [-Wunused-function]
38 | int FunctionExample(int i, int A) {
| ^~~~~~~~~~~~~~~
Catherine.cpp:34:40: warning: bad option '-funroll-lopps' to pragma 'optimize' [-Wpragmas]
34 | #pragma GCC optimize ("03,unroll-lopps")
| ^
Catherine.cpp:47:23: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
47 | void Init(int A, int B){
| ^
Catherine.cpp:53:23: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
53 | int Move(vector<int> y){
| ^
Catherine.cpp: In function 'int Move(std::vector<int>)':
Catherine.cpp:59:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
59 | for(int i=0;i<y.size();i++)if(y[i])return i;
| ~^~~~~~~~~
Catherine.cpp:71:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
71 | for(int i=0;i<y.size();i++)if(y[i]==1)one++;
| ~^~~~~~~~~
Catherine.cpp:75:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
75 | for(int i=0;i<y.size();i++)if(y[i]==1)return last=i;
| ~^~~~~~~~~
Catherine.cpp:79:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
79 | for(int i=0;i<y.size();i++)if(y[i]){
| ~^~~~~~~~~
Catherine.cpp:92:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
92 | for(int i=0;i<y.size();i++)if(y[i]>=2)two++;
| ~^~~~~~~~~
Catherine.cpp:95:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
95 | for(int i=0;i<y.size();i++)if(y[i]==1){
| ~^~~~~~~~~
Catherine.cpp:101:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
101 | for(int i=0;i<y.size();i++)if(y[i]){
| ~^~~~~~~~~
Catherine.cpp:120:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
120 | for(int i=0;i<y.size();i++)if(y[i]==1)one++;
| ~^~~~~~~~~
Catherine.cpp:122:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
122 | for(int i=0;i<y.size();i++)if(y[i]==1)return last=i;
| ~^~~~~~~~~
Catherine.cpp:126:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
126 | for(int i=0;i<y.size();i++)if(y[i]==1)return last=i;
| ~^~~~~~~~~
Catherine.cpp: At global scope:
Catherine.cpp:42:5: warning: '{anonymous}::add' defined but not used [-Wunused-variable]
42 | int add[40000];
| ^~~
Catherine.cpp:40:5: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
40 | int variable_example = 0;
| ^~~~~~~~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
35 ms |
15440 KB |
Output is correct |
2 |
Correct |
2 ms |
764 KB |
Output is correct |
3 |
Correct |
28 ms |
14704 KB |
Output is correct |
4 |
Correct |
40 ms |
16276 KB |
Output is correct |
5 |
Correct |
38 ms |
16304 KB |
Output is correct |
6 |
Correct |
31 ms |
15212 KB |
Output is correct |
7 |
Correct |
28 ms |
15204 KB |
Output is correct |
8 |
Correct |
34 ms |
16320 KB |
Output is correct |
9 |
Correct |
34 ms |
15984 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
35 ms |
15440 KB |
Output is correct |
2 |
Correct |
2 ms |
764 KB |
Output is correct |
3 |
Correct |
28 ms |
14704 KB |
Output is correct |
4 |
Correct |
40 ms |
16276 KB |
Output is correct |
5 |
Correct |
38 ms |
16304 KB |
Output is correct |
6 |
Correct |
31 ms |
15212 KB |
Output is correct |
7 |
Correct |
28 ms |
15204 KB |
Output is correct |
8 |
Correct |
34 ms |
16320 KB |
Output is correct |
9 |
Correct |
34 ms |
15984 KB |
Output is correct |
10 |
Correct |
26 ms |
13340 KB |
Output is correct |
11 |
Correct |
26 ms |
13268 KB |
Output is correct |
12 |
Correct |
30 ms |
13308 KB |
Output is correct |
13 |
Correct |
26 ms |
13256 KB |
Output is correct |
14 |
Correct |
27 ms |
13524 KB |
Output is correct |
15 |
Correct |
30 ms |
13780 KB |
Output is correct |
16 |
Correct |
33 ms |
15748 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
32 ms |
12892 KB |
Output is correct |
2 |
Correct |
1 ms |
776 KB |
Output is correct |
3 |
Correct |
24 ms |
12360 KB |
Output is correct |
4 |
Correct |
34 ms |
14488 KB |
Output is correct |
5 |
Correct |
34 ms |
14036 KB |
Output is correct |
6 |
Correct |
27 ms |
12908 KB |
Output is correct |
7 |
Correct |
28 ms |
12808 KB |
Output is correct |
8 |
Correct |
32 ms |
13672 KB |
Output is correct |
9 |
Correct |
31 ms |
13660 KB |
Output is correct |
10 |
Correct |
32 ms |
13460 KB |
Output is correct |
11 |
Correct |
30 ms |
13372 KB |
Output is correct |
12 |
Correct |
31 ms |
13672 KB |
Output is correct |
13 |
Correct |
31 ms |
13412 KB |
Output is correct |
14 |
Correct |
32 ms |
13836 KB |
Output is correct |
15 |
Correct |
34 ms |
13476 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
32 ms |
12892 KB |
Output is correct |
2 |
Correct |
1 ms |
776 KB |
Output is correct |
3 |
Correct |
24 ms |
12360 KB |
Output is correct |
4 |
Correct |
34 ms |
14488 KB |
Output is correct |
5 |
Correct |
34 ms |
14036 KB |
Output is correct |
6 |
Correct |
27 ms |
12908 KB |
Output is correct |
7 |
Correct |
28 ms |
12808 KB |
Output is correct |
8 |
Correct |
32 ms |
13672 KB |
Output is correct |
9 |
Correct |
31 ms |
13660 KB |
Output is correct |
10 |
Correct |
32 ms |
13460 KB |
Output is correct |
11 |
Correct |
30 ms |
13372 KB |
Output is correct |
12 |
Correct |
31 ms |
13672 KB |
Output is correct |
13 |
Correct |
31 ms |
13412 KB |
Output is correct |
14 |
Correct |
32 ms |
13836 KB |
Output is correct |
15 |
Correct |
34 ms |
13476 KB |
Output is correct |
16 |
Correct |
33 ms |
11380 KB |
Output is correct |
17 |
Correct |
28 ms |
11212 KB |
Output is correct |
18 |
Correct |
27 ms |
11432 KB |
Output is correct |
19 |
Correct |
27 ms |
11380 KB |
Output is correct |
20 |
Correct |
30 ms |
12028 KB |
Output is correct |
21 |
Correct |
28 ms |
12072 KB |
Output is correct |
22 |
Correct |
34 ms |
13672 KB |
Output is correct |
23 |
Correct |
32 ms |
11416 KB |
Output is correct |
24 |
Correct |
27 ms |
11468 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
1024 KB |
Output is correct |
2 |
Correct |
1 ms |
768 KB |
Output is correct |
3 |
Correct |
2 ms |
1200 KB |
Output is correct |
4 |
Correct |
2 ms |
1028 KB |
Output is correct |
5 |
Correct |
2 ms |
1032 KB |
Output is correct |
6 |
Correct |
2 ms |
1132 KB |
Output is correct |
7 |
Incorrect |
2 ms |
1044 KB |
Wrong Answer [5] |
8 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
27 ms |
11232 KB |
Output is correct |
2 |
Incorrect |
29 ms |
13152 KB |
Wrong Answer [5] |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
28 ms |
11140 KB |
Output is correct |
2 |
Correct |
30 ms |
13384 KB |
Output is correct |
3 |
Correct |
2 ms |
776 KB |
Output is correct |
4 |
Correct |
24 ms |
11300 KB |
Output is correct |
5 |
Correct |
41 ms |
15484 KB |
Output is correct |
6 |
Correct |
37 ms |
15480 KB |
Output is correct |
7 |
Incorrect |
32 ms |
14440 KB |
Wrong Answer [5] |
8 |
Halted |
0 ms |
0 KB |
- |