Submission
Status:
----------
Subtask/Task Score:
0/100
Score: 0
User: ChanakanStudy
Problemset: กราฟสัญญาณดิจิทัล
Language: cpp
Time: 0.004 second
Submitted On: 2026-10-12 10:27:01
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <cmath>
#include <queue>
#include <stack>
#include <climits>
#include <map>
#include <numeric>
#include <iomanip>
using namespace std;
using ll = long long;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
string s;
cin >> s;
int n;
cin >> n;
int width = (s.size() * (n-1)) +1;
char graph[n][width];
// cout << width;
for(int i = 0;i<n;i++) {
for(int j = 0;j<width;j++) {
graph[i][j] = '_';
}
}
int currentx = 0 ,currenty= 0,count=0;
for(int w = 0; w<s.size() ;w++) {
if (s[w] == '1') {
int targetx = 0 , targety = currenty + n - 1;
while(currentx != targetx) {
graph[currentx][currenty] = 'X';
currentx--;
}
while(currenty != targety) {
graph[currentx][currenty] = 'X';
currenty++;
if(currenty == targety) {
graph[currentx][currenty] = 'X';
}
// cout << currentx << " : " << currenty << '\n';
}
count++;
}
else {
int targetx = n-1 , targety = currenty + n - 1;
while(currentx != targetx) {
graph[currentx][currenty] = 'X';
currentx++;
}
while(currenty != targety) {
graph[currentx][currenty] = 'X';
currenty++;
if(currenty == targety) {
graph[currentx][currenty] = 'X';
}
// cout << currentx << " : " << currenty << '\n';
}
}
}
for(int i = 0;i<n;i++) {
for(int j = 0;j<width;j++) {
cout << graph[i][j];
}
cout << '\n';
}
return 0;
}