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;
    }

}