Submission #23989

#TimeUsernameProblemLanguageResultExecution timeMemory
23989gs14004Mini tetris (IOI16_tetris)C++11
100 / 100
9 ms2020 KiB
#include "tetris.h"
#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> pi;

void init(int n) {

}

pi state;
int nxt[6][2] = {{2, 5}, {0, 3}, {3, 4}, {0, 1}, {1, 2}, {2, 0}};
pi elem[6][2] = {
    {{0, 0}, {0, 0}}, {{1, 0}, {1, 1}}, {{2, 1}, {1, 2}},
    {{0, 0}, {0, 0}}, {{0, 1}, {0, 3}}, {{1, 0}, {1, 2}}
};

int p;

void new_figure(int figure_type) {
    if(figure_type == 1){
        state = pi(0, 0);
        return;
    }
    figure_type -= 2;
    state = elem[p][figure_type];
    p = nxt[p][figure_type];
}

int get_position() {
    return state.first;
}

int get_rotation() {
    return state.second;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...