답안 #547640

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
547640 2022-04-11T06:42:34 Z flashhh Ancient Machine (JOI21_ancient_machine) C++17
0 / 100
68 ms 10348 KB
#include <bits/stdc++.h>
#include "Anna.h"

using namespace std;

void send(char x) {
    if (x == 'X') {
        Send(0);
        Send(0);
    }
    else if (x == 'Y') {
        Send(0);
        Send(1);
    }
    else {
        Send(1);
        Send(0);
    }
}

void Anna(int n,vector<char> s) {
    for (int i=0;i<n;++i) send(s[i]);
}
#include <bits/stdc++.h>
#include "Bruno.h"
#define N 100005
#define pii pair<int,int>
#define fi first
#define se second
#define pb emplace_back
#define getbit(x,y) (((x)>>(y))&1)
#define getoff(x,y) ((x)^(1<<(y)))

using namespace std;

int n,l;
char a[N];
bool erased[N];
vector<int> s;

void Bruno(int n1,int l1,vector<int> s1) {
    n = n1; l = l1; s = s1;

    for (int i=0;i<n;++i)
        if (s[i<<1] == 0) {
            if (s[i<<1|1] == 0) a[i+1] = 'X';
            else a[i+1] = 'Y';
        }
        else a[i+1] = 'Z';

    int x = 1;
    while (x <= n) {
        while (x <= n && a[x] != 'X') {
            Remove(x-1);
            ++x;
        }

        int z = x;
        while (z <= n && a[z] != 'Z') ++z;

        if (z == n + 1) {
            for (int i=x;i<z;++i) Remove(i-1);
            break;
        }

        int p = z - 1;
        while (p >= x) {
            int pos = -1; int q = p;
            while (p >= x && a[p] != 'X') --p;

            for (int i=p+1;i<=q;++i)
                if (a[i] == 'Y') {
                    pos = i;
                    break;
                }
                else Remove(i-1);

            if (pos != -1) {
                for (int i=pos+1;i<=q;++i) Remove(i-1);
                Remove(pos-1);
            }

            Remove(p-1);
            --p;
        }

        Remove(z-1);
        x = z + 1;
    }
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 520 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 68 ms 10348 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -