Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Multiply_3

Problemset: กราฟสัญญาณดิจิทัล

Language: cpp

Time: 0.005 second

Submitted On: 2026-10-14 10:16:07

#include <iostream>
#include <bitset>
using namespace std;
#define endl << endl
#define sp << " " << 

int main(){
    string data;
    int size;
    cin >> data >> size;
    string ndata = "1";
    for (char a : data){
        if ((a == '0' || a == '1')) 
            ndata+=a;
        else 
            ndata+=bitset<8>(a).to_string();
    }
    for (int i = 1;i < ndata.size();i++){
        if (ndata[i-1] == '1' || ndata[i] == '1') cout << 'x';
        else cout << "_";
        cout << string(size-2,(ndata[i] == '1') ? 'x' : '_');
    }
    cout << ((ndata[ndata.size()-1] == '1') ? 'x' : '_') endl;
    for (int i = 0;i < size-2;i++){
        for (int j = 1;j < ndata.size();j++)
        cout << ((ndata[j] != ndata[j-1]) ? 'x' : '_') << string(size-2,'_');
        cout << '_' endl;
    }
    for (int i = 1;i < ndata.size();i++){
        if (ndata[i-1] == '0' || ndata[i] == '0') cout << "x";
        else cout << "_";
        cout << string(size-2,(ndata[i] == '0') ? 'x' : '_');
    }
    cout << ((ndata[ndata.size()-1] == '0') ? 'x' : '_') endl;

}