Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Kidmaiok
Problemset: กราฟสัญญาณดิจิทัล
Language: cpp
Time: 0.002 second
Submitted On: 2026-10-12 11:08:15
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define space << ' '
#define nl << endl
string graph[15];
void updown(int n,int col){
for(int i =0; i < n; i++){
graph[i][col] = 'x';
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
string x;
int n;
cin >> x >> n;
string temp = "",temp2 = "";
if(x[0] >= 'A' && x[0] <= 'z'){
for(int i = 0; i < x.size();i++){
int temp1 = int(x[i]);
while(temp1 > 0){
temp2 += to_string(temp1%2);
temp1 /= 2;
}
if(temp2.size() < 8){
temp2 += '0';
}
reverse(temp2.begin(),temp2.end());
temp += temp2;
temp2 = "";
}
x = temp;
}
int width = x.size() * (n - 1) + 1;
for(int i =0; i < n; i++){
graph[i] = string(width,'_');
}
if(x[0] == '0'){
updown(n,0);
for(int k =0; k < n; k++){
graph[n-1][k] = 'x';
}
}else{
for(int k =0; k < n; k++){
graph[0][k] = 'x';
}
}
for(int i =1; i < x.size(); i++){
int col = i * (n - 1);
if(x[i] != x[i-1] && x[i] == '1'){
updown(n,col);
for(int k =col; k < col + n; k++){
graph[0][k] = 'x';
}
}else if(x[i] != x[i-1] && x[i] == '0'){
updown(n,col);
for(int k =col; k < col + n; k++){
graph[n-1][k] = 'x';
}
}else if(x[i] == x[i-1] && x[i] == '0'){
for(int k =col; k < col + n; k++){
graph[n-1][k] = 'x';
}
}else if(x[i] == x[i-1] && x[i] == '1'){
for(int k =col; k < col + n; k++){
graph[0][k] = 'x';
}
}
}
for (int i = 0; i < n; i++) {
cout << graph[i] << '\n';
}
}