# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1082271 | mickey080929 | 로봇 대회 (IOI23_robot) | C++17 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "robot.h"
#include <bits/stdc++.h>
using namespace std;
char dir[] = {' ', 'W', 'S', 'E', 'N'};
void set_instruction(std::vector<int> S, int Z, char A);
pair<int,char> cal(vector<int> S) {
if (S[1] == 1 || S[2] == 1 || S[3] == 1 || S[4] == 1) {
for (int i=1; i<=4; i++) {
if (S[i] == 6) {
return {7, dir[i]};
}
}
for (int i=1; i<=4; i++) {
if (S[i] > 1) {
return {1, dir[i]};
}
}
return {1, 'T'};
}
if (S[0] == 7) {
for (int i=1; i<=4; i++) {
if (S[i] == 6) {
return {7, dir[i]};
}
}
for (int i=1; i<=4; i++) {
if (2<=S[i] && S[i]<=5 && (S[i] - 1 - i + 4) % 4 == 2) {
return {6, dir[i]};
}
}
return {1, 'T'};
}
if (S[0] == 6) {
for (int i=1; i<=4; i++) {
if (S[i] == 7) {
return {0, dir[i]};
}
}
return {1, 'T'};
}
for (int i=1; i<=4; i++) {
if (S[i] == 0) {
return {i+1, dir[i]};
}
}
if (S[2] == -2 && S[3] == -2) {
for (int i=1; i<=4; i++) {
if (S[i] > 1 && S[i] != 6) {
return {1, dir[i]};
}
}
}
return {7, 'H'};
}