#include "Anna.h"
#include <vector>
using namespace std;
#include <bits/stdc++.h>
namespace {
int le(int z){
if(z == 0) return 1;
if(z == 1) return 0;
if(z == 2) return 0;
}
int gr(int z){
if(z == 0) return 2;
if(z == 1) return 2;
if(z == 2) return 1;
}
}
void Anna(int N, vector<char> S) {
vector<int> freq(3, 0);
for(int i = 0; i < S.size(); i ++){
freq[S[i] - 'X'] ++;
}
int max_freq = 0;
for(int i = 0; i < 3; i ++){
if(freq[i] > freq[max_freq]){
max_freq = i;
}
}
if(max_freq == 0){
Send(0);
Send(0);
}
if(max_freq == 1){
Send(0);
Send(1);
}
if(max_freq == 2){
Send(1);
Send(0);
}
for(int i = 0; i < S.size(); i ++){
if(S[i] - 'X' == max_freq){
Send(0);
}
if(S[i] - 'X' == le(max_freq)){
Send(1);
Send(0);
}
if(S[i] -'X' == gr(max_freq)){
Send(1);
Send(1);
}
}
}
/*
g++ -std=gnu++17 -O2 -fsigned-char -o grader grader.cpp ancientmachine.cpp Bruno.cpp
*/
#include "Bruno.h"
#include <vector>
using namespace std;
#include <bits/stdc++.h>
namespace {
int le(int z){
if(z == 0) return 1;
if(z == 1) return 0;
if(z == 2) return 0;
}
int gr(int z){
if(z == 0) return 2;
if(z == 1) return 2;
if(z == 2) return 1;
}
}
void Bruno(int N, int L, vector<int> A) {
int pos =-1;
string s;
int max_freq = A[0] * 2+ A[1];
int i = 2;
while(i < L){
if(A[i] == 0){
s.push_back('X' + max_freq);
}
if(A[i] == 1){
if(A[i+1] == 0){
s.push_back('X' + le(max_freq));
} else {
s.push_back('X' + gr(max_freq));
}
i ++;
}
i ++;
}
for(int i = 0;i<N;i++){
if(s[i]=='X'){
pos=i;
break;
} else {
Remove(i);
}
}
if(pos == -1){
return;
}
int cur = pos;
int check = 0;
int id = 0;
for(int i = pos; i < N; i++){
if(s[i]=='Z'){
for(int j = i - 1; j > cur; j--){
Remove(j);
}
Remove(i);
cur=i;
}
}
for(int i = N-1; i > cur; i--){
Remove(i);
}
Remove(pos);
}
/*
g++ -std=gnu++17 -O2 -fsigned-char -o grader grader.cpp ancientmachine.cpp Bruno.cpp
8
X Y X Z Y X Y Z
48
X X Y Y Z Z Y X Y X Z Y X X Y Y Z Z Y X Y X Z Y X X Y Y Z Z Y X Y X Z Y X X Y Y Z Z Y X Y X Z Y
3
X X X
3
Y Y Y
3
Z Z Z
3
X Y Z
15
Y X Z Z X Y X Z Y Z X Y X Y Z
20
X X Y Y Z Z X Y Z X Y Z X X Y Z X Y Z X
25
Z Y X X Y Z Z Y X X Z Y X Y Z X Z Y X X Y Z Y X Z
30
X Y Z X Y Z X X Y Z Z Y X X Z Y X Y Z X Y Z X X Y Z X Y Z Z
40
Z Z X X Y Y Z X Y Z X X Y Z X Y Z X X Y Z X Y Z Z Y X X Z Y X Y Z X Y Z X Y X X
50
X Y Z Z Y X X Z Y X Y Z X X Y Z X Y Z X Y Z Z Y X X Z Y X Y Z X Y Z X X Y Z X Y Z Z X Y X X Y Z Y Z
60
Y X Z Z X Y X Z Y Z X Y X Y Z X Y Z X X Y Z X Y Z Z Y X X Z Y X Y Z X Y Z X X Y Z X Y Z Z X Y X X Y Z X Y Z Z X Y Z Y X
75
X X Y Z X Y Z X X Y Z Z Y X X Z Y X Y Z X Y Z X X Y Z X Y Z Z Y X X Z Y X Y Z X Y Z X X Y Z X Y Z Z X Y X X Y Z X Y Z Z X Y Z Y X Z X Y Z X X Y Z Z Y X
45
Z Z Z X X X Y Y Y Z Z Z X X X Y Y Y Z Z Z X X X Y Y Y Z Z Z X X X Y Y Y
*/
Compilation message (stderr)
# 1번째 컴파일 단계
Anna.cpp: In function 'int {anonymous}::le(int)':
Anna.cpp:11:5: warning: control reaches end of non-void function [-Wreturn-type]
11 | }
| ^
Anna.cpp: In function 'int {anonymous}::gr(int)':
Anna.cpp:16:5: warning: control reaches end of non-void function [-Wreturn-type]
16 | }
| ^
# 2번째 컴파일 단계
Bruno.cpp: In function 'int {anonymous}::le(int)':
Bruno.cpp:11:5: warning: control reaches end of non-void function [-Wreturn-type]
11 | }
| ^
Bruno.cpp: In function 'int {anonymous}::gr(int)':
Bruno.cpp:16:5: warning: control reaches end of non-void function [-Wreturn-type]
16 | }
| ^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |