Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: KanemiyaKana

Problemset: อโมกุส

Language: cpp

Time: 0.004 second

Submitted On: 2026-09-22 14:00:08

#include <iostream>
#include <string>
using namespace std;

string fold(int times)
{
    int times2 = times;
    string returnstring = "";
    string line1 = "###";
    string line1_whitespace = " ";
    string line2 = "##";
    string line3 = "####";
    string line4_1 = "#";
    string line4_2 = "#";
    string line4_1_whitespace = " ";
    string line4_2_whitespace = " ";
    string line1_final = "";
    string line1_whitespace_final = "";
    string line2_final = "";
    string line3_final = "";
    string line4_1_final = "";
    string line4_2_final = "";
    string line4_1_whitespace_final = "";
    string line4_2_whitespace_final = "";
    string firstline_final = "";
    string secondline_final = "";
    string thirdline_final = "";
    string fourthline_final = "";

    while (times > 0)
    {
        line1_final += line1;
        line1_whitespace_final += line1_whitespace;
        line2_final += line2;
        line3_final += line3;
        line4_1_final += line4_1;
        line4_2_final += line4_2;
        line4_1_whitespace_final += line4_1_whitespace;
        line4_2_whitespace_final += line4_2_whitespace; // i can technically reuse the whitespace variables but i kinda wanna keep it clear and readable
        times--;
    }
    string firstline = line1_whitespace_final + line1_final;
    string secondline = line2_final;
    string thirdline = line3_final;
    string fourthline = line4_1_whitespace_final + line4_1_final + line4_2_whitespace_final + line4_2_final;
    while (times2 > 0)
    {
        firstline_final += firstline + "\n";
        secondline_final += secondline + "\n";
        thirdline_final += thirdline + "\n";
        fourthline_final += fourthline + "\n";
        times2--;
    }

    returnstring = firstline_final + secondline_final + thirdline_final + fourthline_final;
    return returnstring;
}

int main()
{
    int input;
    cin >> input;
    if (input < 1 || input > 50)
    {
        return 0;
    }
    string output = fold(input);
    cout << output << endl;
}