Submission
Status:
PPPPP
Subtask/Task Score:
100/100
Score: 100
User: chokun
Problemset: กังหันสี่ทิศ
Language: cpp
Time: 0.003 second
Submitted On: 2026-10-05 19:47:18
#include <bits/stdc++.h>
using namespace std;
int main(){
int N;
// รับค่าจำนวนเต็มจากแป้นพิมพ์ (ช่วง 1 ถึง 20)
if (!(cin >> N) || N < 1 || N > 20) {
return 0;
}
int total_rows = 2 * N - 1;
for (int i = 0; i < total_rows; i++) {
// หาความห่างจากแถวตรงกลาง (จุดหมุน A)
int k = abs(i - (N - 1));
// ตัวอักษรภาษาอังกฤษที่ต้องใช้ในแถวนั้น ๆ
char ch = 'A' + k;
// คำนวณหาตำแหน่งหลักสุดท้ายที่มีการเสดงผลเพื่อใช้ปิดบรรทัด
int max_cols = 3 * N + k;
// สร้าง string บรรทัดเปล่าที่มีความยาวเพียงพอ
string row_str(max_cols, ' ');
// กำหนดอักษรลงในกังหันฝั่งซ้าย
row_str[N - 1 - k] = ch;
row_str[N - 1 + k] = ch;
// กำหนดเครื่องหมาย * ลงในกังหันฝั่งขวา
row_str[2 * N + (N - 1 - k)] = '*';
row_str[2 * N + (N - 1 + k)] = '*';
// แสดงผลลัพธ์ของแถวนั้นออกทางหน้าจอ
cout << row_str << endl;
}
}