This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "tetris.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
int nxt[6][2], nxtpos[6][2], nxtrot[6][2], pos, rot, akt;
void init(int n) {
akt=0;
nxt[0][0]=2; nxtpos[0][0]=0; nxtrot[0][0]=0;
nxt[0][1]=1; nxtpos[0][1]=1; nxtrot[0][1]=1;
nxt[1][0]=3; nxtpos[1][0]=0; nxtrot[1][0]=0;
nxt[1][1]=0; nxtpos[1][1]=0; nxtrot[1][1]=3;
nxt[2][0]=4; nxtpos[2][0]=2; nxtrot[2][0]=1;
nxt[2][1]=3; nxtpos[2][1]=1; nxtrot[2][1]=2;
nxt[3][0]=5; nxtpos[3][0]=0; nxtrot[3][0]=1;
nxt[3][1]=2; nxtpos[3][1]=0; nxtrot[3][1]=3;
nxt[4][0]=0; nxtpos[4][0]=0; nxtrot[4][0]=0;
nxt[4][1]=5; nxtpos[4][1]=0; nxtrot[4][1]=0;
nxt[5][0]=0; nxtpos[5][0]=1; nxtrot[5][0]=0;
nxt[5][1]=4; nxtpos[5][1]=1; nxtrot[5][1]=1;
}
void new_figure(int x) {
if(x==1) {
pos=rot=0;
return;
}
x-=2;
pos=nxtpos[akt][x];
rot=nxtrot[akt][x];
akt=nxt[akt][x];
}
int get_position() {
return pos;
}
int get_rotation() {
return rot;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |