Submission
Status:
P-P--PP---
Subtask/Task Score:
40/100
Score: 40
User: chokun
Problemset: ลูกเต๋า
Language: cpp
Time: 0.005 second
Submitted On: 2026-10-06 11:19:27
#include <bits/stdc++.h>
using namespace std;
int main() {
string input;
cin >> input;
// 1. ตรวจสอบเงื่อนไข ERROR
// หน้าลูกเต๋าต้องมี 3 หลัก และแต่ละหลักต้องเป็นเลข 1 ถึง 6 เท่านั้น
if (input.length() != 3) {
cout << "ERROR" << endl;
return 0;
}
for (int i = 0; i < 3; i++) {
if (input[i] < '1' || input[i] > '6') {
cout << "ERROR" << endl;
return 0;
}
}
// 2. กำหนดรูปแบบหน้าลูกเต๋า 1-6 (ดัชนี 0 จะไม่ถูกใช้งาน เพื่อให้เรียกใช้ง่ายตามเลขหน้า)
// ลูกเต๋าแต่ละหน้ามี 3 บรรทัด
string dice[7][3] = {
{" ", " ", " "}, // หน้า 0 (ไม่ใช้)
{"* ", " * ", " *"}, // หน้า 1
{"* *", " ", "* *"}, // หน้า 2
{"* ", " * ", " *"}, // หน้า 3
{"* *", " ", "* *"}, // หน้า 4
{"* *", " * ", "* *"}, // หน้า 5
{"* *", "* *", "* *"} // หน้า 6
};
// แปลงอักษร input ให้เป็นตัวเลขหน้าลูกเต๋า 3 ลูก
int d1 = input[0] - '0';
int d2 = input[1] - '0';
int d3 = input[2] - '0';
// 3. วาดภาพหน้าลูกเต๋าออกทางหน้าจอทีละบรรทัด (มีทั้งหมด 3 บรรทัด)
for (int line = 0; line < 3; line++) {
// พิมพ์ลูกเต๋าลูกที่ 1 บรรทัดที่ line ตามด้วยแท่งกั้น '|'
cout << dice[d1][line] << "|";
// พิมพ์ลูกเต๋าลูกที่ 2 บรรทัดที่ line ตามด้วยแท่งกั้น '|'
cout << dice[d2][line] << "|";
// พิมพ์ลูกเต๋าลูกที่ 3 บรรทัดที่ line จากนั้นขึ้นบรรทัดใหม่
cout << dice[d3][line] << endl;
}
}