Submission

Status:

----------

Subtask/Task Score:

0/100

Score: 0

User: TonnamSora

Problemset: กราฟสัญญาณดิจิทัล

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-10 09:42:44

#include <iostream>
using namespace std;

int main(){
    /*string s;
    cin >> s;
    int len = s.length();
    int a[len];
    for(int i = 0; i < len; i++){
        cout << a[i];
    }
    int x;
    cin >> x;
    int length = ((x - 1) * len) + 1;
    char c[length][x];
    for(int i = 0; i < x; i++){
        for(int j = 0; j < length; j++){
            c[j][i] = '_';
        }
    }
    for(int i = 0; i < x; i++){
        for(int j = 0; j < length; j++){
            if(a[0] == 1){
                for(int k = 0; k < x; k++){
                    c[0][k] = 'X';
                }
            }
            else{
                c[0][0] = 'X';
            }
        }
    }
    for(int j = 1; j < length; j = j + 3){
        if(a[j] == 0){
            for(int i = 0; i < x - 1; i++){
                c[0][i + j] = 'X';
            }
        }
    }
    for(int i = 0; i < x; i++){
        for(int j = 0; j < length; j++){
            if(j % (x - 1) == 0 && j != 0){
                if(a[(j / (x - 1))] != save){
                    for(int k = 0; k < x; k++){
                        c[0][k] = 'X';
                    }
                    save = (save + 1) % 2;
                }
                else{
                    if(save == 1){
                        c[0][j] = 'X';
                    }
                    else{
                        c[x - 1][j] = 'X';
                    }
                }
            }
            else{
                if(save == 1){
                    c[0][j] = 'X';
                }
                else{
                    c[x - 1][j] = 'X';
                }
            }
        }
    }
    for(int i = 0; i < x; i++){
        for(int j = 0; j < length; j++){
            cout << c[j][i];
        }
        cout << "\n";
    }*/
    string s;
    cin >> s;
    int len = s.length();
    int a[len];
    for(int i = 0; i < len; i++){
        a[i] = s[i] - '0';
    }
    int x;
    cin >> x;
    int length = (x - 1) * len + 1;
    int c[x][length];
    for(int i = 0; i < x; i++){
        for(int j = 0; j < length; j++){
            c[i][j] = '_';
        }
    }
    c[0][0] = 'X';
    int idx1 = 0;
    for(int i = 1; i < length; i = i+x-1){
        if(a[idx1] == 1){
            for(int j = 0; j < x - 1; j++){
                c[0][i + j] = 'X';
            }
        }
        idx1++;
    }
    int idx2 = 0;
    for(int i = 1; i < length; i = i+x-1){
        if(a[idx2] == 0){
            for(int j = 0; j < x - 1; j++){
                c[x - 1][i + j] = 'X';
            }
        }
        idx2++;
    }
    for(int i = 0; i < length; i = i+x-1){
        if(c[0][i] == 'X' && c[0][i + 1] == '_' && i != length - 1){
            for(int j = 0; j < x; j++){
                c[j][i] = 'X';
            }
        }
    }
    for(int i = 0; i < length; i = i+x-1){
        if(c[x - 1][i] == 'X' && c[x - 1][i + 1] == '_' && i != length - 1){
            for(int j = 0; j < x; j++){
                c[j][i] = 'X';
            }
        }
    }
    for(int i = 0; i < x; i++){
        for(int j = 0; j < length; j++){
            cout << char(c[i][j]);
        }
        cout << "\n";
    }
}