Submission
Status:
PPPPP
Subtask/Task Score:
100/100
Score: 100
User: KurtCobain
Problemset: กังหันสี่ทิศ
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-02 17:06:31
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n;
cin >> n;
string alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
vector<int> gen_between = {};
vector<char> characters_use = {};
int p=1;
gen_between.push_back(0);
for (int i=0;i<n;i++){ // Add Betweens
gen_between.push_back(p);
p+=2;
}
for (int x=0;x<n;x++){ // Add Char
characters_use.push_back(alphabets[x]);
}
// Init Vars
int lastIndexChar = characters_use.size()-1;
int lastIndexBetween =gen_between.size()-2;
int LastIndexBetweenOut = 1;
// Top
for (int i=0;i<n;i++){
string left = "";
string right = "";
string mixed = "";
for (int g=0;g<i;g++){
left+=" ";
}
left+= characters_use[lastIndexChar];
right+="*";
for (int b=0;b<gen_between[lastIndexBetween];b++){
left+=" ";
right+=" ";
}
if (i < n-1){
left+=characters_use[lastIndexChar];
right+="*";
}
mixed+=left;
for (int z=0;z<gen_between[LastIndexBetweenOut];z++){
mixed += " ";
}
mixed+=right;
cout << mixed << '\n';
lastIndexChar--;
lastIndexBetween--;
LastIndexBetweenOut++;
}
gen_between.pop_back();
int FirstIndexChar = 1;
int FirstIndexBetween = 1;
int firstIndexBetweenOut = gen_between.back();
// Bottom
for (int i=0;i<n-1;i++){
string left = "";
string right = "";
string mixed = "";
for (int g=n-2;g>i;g--){
left+=" ";
}
left+= characters_use[FirstIndexChar];
right+="*";
for (int b=0;b<gen_between[FirstIndexBetween];b++){
left+=" ";
right+=" ";
}
if (i < n-1){
left+=characters_use[FirstIndexBetween];
right+="*";
}
mixed+=left;
for (int z=firstIndexBetweenOut;z>0;z--){
mixed += " ";
}
mixed+=right;
cout << mixed << '\n';
FirstIndexChar++;
FirstIndexBetween++;
firstIndexBetweenOut-=2;
}
}