#include "tetris.h"
#include <bits/stdc++.h>
using namespace std;
map<pair<vector<int>, int>, tuple<int, int, vector<int>>> transfer;
vector<int> height;
int fig, pos, rot;
void init(int n) {
height = {0, 0, 0};
transfer[{{0, 0, 0}, 2}] = {0, 0, {1, 1, 0}};
transfer[{{0, 0, 0}, 3}] = {0, 0, {2, 1, 0}};
transfer[{{1, 1, 0}, 2}] = {2, 1, {0, 0, 1}};
transfer[{{1, 1, 0}, 3}] = {1, 2, {0, 1, 1}};
transfer[{{2, 1, 0}, 2}] = {1, 0, {1, 1, 0}};
transfer[{{2, 1, 0}, 3}] = {1, 2, {0, 0, 0}};
transfer[{{0, 0, 1}, 2}] = {0, 0, {0, 0, 0}};
transfer[{{0, 0, 1}, 3}] = {0, 0, {1, 0, 0}};
transfer[{{0, 1, 1}, 2}] = {0, 1, {1, 0, 0}};
transfer[{{0, 1, 1}, 3}] = {0, 3, {1, 1, 0}};
transfer[{{1, 0, 0}, 2}] = {1, 0, {0, 0, 0}};
transfer[{{1, 0, 0}, 3}] = {1, 1, {0, 0, 1}};
}
void new_figure(int figure_type) {
fig = figure_type;
if (fig != 1) {
auto res = transfer[make_pair(height, fig)];
pos = get<0>(res);
rot = get<1>(res);
height = get<2>(res);
}
}
int get_position() {
if (fig == 1) {
return 0;
} else {
return pos;
}
}
int get_rotation() {
if (fig == 1) {
return 0;
} else {
return rot;
}
}
컴파일 시 표준 에러 (stderr) 메시지
tetris.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
tetris_c.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~| # | 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... |