Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: admin
Problemset: กราฟสัญญาณดิจิทัล
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-12 12:11:24
#include <bits/stdc++.h>
using namespace std;
int a;
void px(string x) {
printf("x");
for (int i=0; i<x.size(); i++) {
for (int j=0; j<a-2; j++) {
if (x[i] == '0') {
printf("_");
} else {
printf("x");
}
}
if (x[i+1] == '1' || x[i] == '1') printf("x");
else printf("_");
}
printf("\n");
//
for (int k=0; k<a-2; k++) {
if (x[0] == '1') printf("_");
else printf("x");
for (int i=0; i<x.size(); i++) {
for (int j=0; j<a-2; j++) {
if (x[i] == '1') {
printf("_");
} else {
printf("_");
}
}
// magic
if (x[i+1] != x[i] && i != x.size()-1) printf("x");
else printf("_");
}
printf("\n");
}
//
if (x[0] == '1') printf("_");
else printf("x");
for (int i=0; i<x.size(); i++) {
for (int j=0; j<a-2; j++) {
if (x[i] == '1') {
printf("_");
} else {
printf("x");
}
}
if (x[i+1] == '0' || x[i] == '0') printf("x");
else printf("_");
}
printf("\n");
}
string to_ascii(char x) {
string b = "";
for (int i=0; i<8;i++) {
if(x&1) b = '1'+b;
else b='0'+b;
x >>= 1;
}
return b;
}
main() {
string x;
cin >> x;
cin >> a;
if (x[0] == '1' || x[0] == '0') {
px(x);
} else {
string y = "";
for (int i=0; i<x.size(); i++) {
y += to_ascii(x[i]);
}
px(y);
}
}