Submission

Status:

----------

Subtask/Task Score:

0/100

Score: 0

User: Jibhong

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

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-07 19:09:36

#include <iostream>
#include <vector>
using namespace std;

int main(){
    string inp;
    int n;
    cin>>inp>>n;
    vector<bool>vec;
    if(inp[0]=='0' || inp[0]=='1'){
         for(auto e:inp){
             vec.push_back(e=='1'?1:0);
         }
    }else{
         for(auto e:inp){
             for(int i=7;i>=0;--i){
                vec.push_back((e&(1<<i))!=0);
             }
         }
    }
    bool last=1;
    vector<int>out;
    for(int i=0;i<vec.size();++i){
        if(last!=vec[i]) out.push_back(2);
        else out.push_back(vec[i]);
        for(int j=0;j<n-2;++j) out.push_back(vec[i]);
        last=vec[i];
    }
    out.push_back(*(vec.end()-1));
    for(int i=0;i<n;++i){
        for(auto e:out){
            if(i==0){
                if(e!=0) cout<<'X';
                else cout<<'_';
            }
            else if(i==n-1){
                if(e!=1) cout<<'X';
                else cout<<'_';
            }else{
                if(e==2) cout<<'X';
                else cout<<'_';
            }
        }
        cout<<'\n';
    }
}