Submission
Status:
-PPP------
Subtask/Task Score:
30/100
Score: 30
User: Nuttykub
Problemset: กราฟสัญญาณดิจิทัล
Language: cpp
Time: 0.004 second
Submitted On: 2026-10-06 14:15:10
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
string s;
vector<int> ans;
int n;
cin >>s>>n;
int total=0;
if(int(s[0])<65) for(auto q:s) ans.push_back(q-'0');
else{
vector<int> temp;
for(int i=0;i < s.length();i++){
int total = s[i];
int a,ct=0;
while(total!=0){
a = total%2;
temp.push_back(a);
total/=2;
ct++;
}
if(ct!=8){
for (int i=ct;i<8;i++) temp.push_back(0);
}
reverse(temp.begin(),temp.end());
for(auto t:temp) ans.push_back(t);
temp.clear();
}
}
vector<vector<char>> matrix(n,vector<char>((n-1)*(ans.size())+1,'_'));
matrix[0][0] = 'X';
int row;
for(int i =0;i<ans.size();i++){
int j=i*(n-1);
if (ans[i]==1) row = 0;
else row = n-1;
for (int k=0;k<n;k++) matrix[row][j+k]='x';
}
for(int i=1;i<n-1;i++){
for (int j=0;j<(n-1)*ans.size()+1;j++){
if(matrix[n-1][j]=='x' and matrix[0][j]=='x') matrix[i][j] = 'x';
}
}
//output
for(int i = 0;i<n;i++){
for (int j = 0;j <(n-1)*ans.size()+1;j++){
cout << matrix[i][j];
}
cout << endl;
}
}