Submission #1150316

#TimeUsernameProblemLanguageResultExecution timeMemory
1150316yeysoAncient Machine (JOI21_ancient_machine)C++20
38 / 100
49 ms6848 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...