Submission
Status:
----xxxxxx
Subtask/Task Score:
0/100
Score: 0
User: UNJE0o
Problemset: กราฟสัญญาณดิจิทัล
Language: cpp
Time: 0.002 second
Submitted On: 2026-10-13 12:58:00
// #include<iostream>
// #include<string>
#include<bits/stdc++.h>
using namespace std;
#define en '\n'
int main(){
string sig; cin >> sig;
int n,len = sig.size(),s;
cin >> n;
s = len*n;
char bx[n][s];
for(int i = 0;i < n;i++){
for(int j = 0;j < s;j++) {
bx[i][j] = '_';
}
}
int y,pos = 0;
for(int i = 0;i < len;i++){
pos += n;
if(sig[i] == '1') y = 0;
else if(sig[i] == '0') y = n-1;
for(int j = pos-n; j < pos && j < s;j++){
bx[y][j] = 'X';
}
pos -= 1;
}
if(bx[0][0] == '_'){
for(int i = 0;i < n;i++){
bx[i][0] = 'X';
}
}
for(int j = 1;j < pos+1;j++){
if((bx[0][j] == 'X' && bx[0][j-1] == '_') ||
(bx[0][j] == 'X' && bx[0][j+1] == '_' && j+1 < pos+1)){
for(int i = 0;i < n;i++) bx[i][j] = 'X';
}
}
for(int i = 0;i < n;i++){
for(int j = 0;j < pos+1;j++){
cout << bx[i][j];
} cout << en;
}
}