Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Some1258
Problemset: กราฟสัญญาณดิจิทัล
Language: cpp
Time: 0.004 second
Submitted On: 2026-07-31 09:32:39
#include<bits/stdc++.h>
using namespace std;
int main(){
string input;
int x;
cin>>input>>x;
bool binary = true;
for(char c:input){
if(c!='0'&&c!='1'){
binary=false;
break;
}
}
string bits;
if(binary){
bits=input;
}else{
for(char c: input){
int ascii=c;
string eightbits="";
for(int i=0;i<8;i++){
int rem=ascii%2;
if(rem==0){
eightbits='0'+eightbits;
}else{
eightbits='1'+eightbits;
}
ascii/=2;
}
bits+=eightbits;
}
}
int prev=1;
int col=0;
int width=1+bits.length()*(x-1);
vector<string> graph(x,string(width,'_'));
for(char b:bits){
int now=b-'0';
if(now!=prev){
for(int r=0;r<x;r++){
graph[r][col]='x';
}
}
if(now==1){
for(int j=0;j<x;j++){
graph[0][col+j]='x';
}
}else{
for(int i=0;i<x;i++){
graph[x-1][col+i]='x';
}
}
prev=now;
col+=x-1;
}
for(int r=0;r<x;r++){
cout<<graph[r];
if(r!=x-1){
cout<<'\n';
}
}
}