Submission
Status:
Compilation Error
Subtask/Task Score:
Score: 0
User: jackpapho
Problemset: กราฟสัญญาณดิจิทัล
Language: cpp
Time: 0.000 second
Submitted On: 2026-10-07 17:04:56
#include <bits/stdc++.h>
using namespace std;
char arr[100000][100000];
int main(){
cin.tie(0)->sync_with_stdio(0);
string s,real;
int n,start = 0;
cin >> s >> n;
if (('A' <=s[0]&&s[0] <= 'Z') || ('a' <=s[0]&&s[0] <= 'z')){
for (char c:s){
int x = c;
for (int i = 7;i >= 0;i--){
real += char(((x / (int)pow(2,i)) % 2) + '0');
}
}
}
else {
real = s;
}
for (int i = 0;i < n;i++){
for (int j = 0;j < n*real.length()+1-real.length();j++){
arr[i][j] = '_';
}
}
for (int k = 0;k < real.length();k++){
if (real[k] == '0'&&k != 0&&real[k-1]== '0'){
for (int j = start;j < n-1+start;j++){
arr[n-1][j] = 'X';
}
start+= n-1;
}
else if (real[k] == '0'){
for (int i = 0;i < n;i++){
if (i == n-1){
for (int j = start;j < n-1+start;j++){
arr[i][j] = 'X';
}
start+= n-1;
continue;
}
arr[i][start] = 'X';
}
}
else if (real[k] == '1' && (k == 0||real[k-1] == '1')){
for (int j = start;j < n+start;j++){
arr[0][j] = 'X';
}
start+= n-1;
continue;
}
else if(real[k] == '1'){
for (int i = 0; i < n;i++){
for (int j = start;j < start+n-1;j++){
if (i == 0) arr[i][j] = 'X';
if (j == start) arr[i][j] = 'X';
}
}
start+=n-1;
}
}
if (real.length() > 1 && real[real.length()-1] == '1'){
arr[0][start] = 'X';
}
else if(real[real.length()-1] == '0'){
arr[n-1][start] = 'X';
}
for (int i = 0;i < n;i++){
for (int j = 0;j < n*real.length()+1-real.length();j++){
cout << arr[i][j];
}
cout << '\n';
}
return 0;
}