Submission #1149081

#TimeUsernameProblemLanguageResultExecution timeMemory
1149081yeysoAncient Machine (JOI21_ancient_machine)C++20
0 / 100
49 ms7488 KiB
#include "Anna.h"
#include <vector>
using namespace std;
#include <bits/stdc++.h>

namespace {

//int variable_example = 0;

}

void Anna(int N, vector<char> S) {
    for(int i = 0; i < S.size(); i ++){
        if(S[i] == 'X'){
            Send(0);
            Send(0);
        }
        if(S[i] == 'Y'){
            Send(0);
            Send(1);
        }
        if(S[i] == 'Z'){
            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 variable_example = 0;

int FunctionExample(int P) { return 1 - P; }

}  // namespace

void Bruno(int N, int L, vector<int> A) {
    vector<int> z;
    for(int i = 0; i < L; i += 2) {
        if(A[i] == 0){
            if(A[i+1] == 0){
                z.push_back(1);
            }
            if(A[i+1] == 1){
                z.push_back(2);
            }
        }
        if(A[i] == 1){
            z.push_back(3);
        }
    }
    int lastchar = 3;
    vector<int> remove;
    for(int i = 0; i < z.size(); i ++){
        if(lastchar == 3){
            if(z[i] != 1){
                remove.push_back(i);
                z[i] = 0;
            } else {
                lastchar = 1;
            }
        }
        if(lastchar == 1){
            if(z[i] != 2){
                remove.push_back(i);
                z[i] = 0;
            } else {
                lastchar = 2;
            }
        }
        if(lastchar == 2){
            if(z[i] != 3){
                remove.push_back(i);
                z[i] = 0;
            } else {
                lastchar = 3;
            }
        }
    }
    vector<int> last;
    for(int i = 0; i < z.size(); i ++){
        if(z[i] != 0){
            last.push_back(i);
        }
    }
    for(int i = 1; i < last.size(); i += 3){
        remove.push_back(last[i]);
    }
    for(int i = 0; i < last.size(); i += 2){
        remove.push_back(last[i]);
    }

    for(int i = 0; i < remove.size(); i ++){
        Remove(remove[i]);
    }
}
/*
g++ -std=gnu++17 -O2 -fsigned-char -o grader grader.cpp ancientmachine.cpp Bruno.cpp

12
X Y Z Z X Y X Z Z Y Z X
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...