Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: TonnamSora
Problemset: กราฟสัญญาณดิจิทัล
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-13 12:34:34
#include <iostream>
using namespace std;
int main(){
/*string s;
cin >> s;
int len = s.length();
int a[len];
for(int i = 0; i < len; i++){
cout << a[i];
}
int x;
cin >> x;
int length = ((x - 1) * len) + 1;
char c[length][x];
for(int i = 0; i < x; i++){
for(int j = 0; j < length; j++){
c[j][i] = '_';
}
}
for(int i = 0; i < x; i++){
for(int j = 0; j < length; j++){
if(a[0] == 1){
for(int k = 0; k < x; k++){
c[0][k] = 'X';
}
}
else{
c[0][0] = 'X';
}
}
}
for(int j = 1; j < length; j = j + 3){
if(a[j] == 0){
for(int i = 0; i < x - 1; i++){
c[0][i + j] = 'X';
}
}
}
for(int i = 0; i < x; i++){
for(int j = 0; j < length; j++){
if(j % (x - 1) == 0 && j != 0){
if(a[(j / (x - 1))] != save){
for(int k = 0; k < x; k++){
c[0][k] = 'X';
}
save = (save + 1) % 2;
}
else{
if(save == 1){
c[0][j] = 'X';
}
else{
c[x - 1][j] = 'X';
}
}
}
else{
if(save == 1){
c[0][j] = 'X';
}
else{
c[x - 1][j] = 'X';
}
}
}
}
for(int i = 0; i < x; i++){
for(int j = 0; j < length; j++){
cout << c[j][i];
}
cout << "\n";
}*/
string s;
cin >> s;
if(s[0] >= 'A'){
int b = 0;
int l = s.length();
int binary[80];
int cnt = 0;
for(int i = 0; i < l; i++){
b = (int)s[i];
int binarytemp[8];
for (int j = 7; j >= 0; j--) {
binarytemp[j] = b % 2;
b /= 2;
}
for(int j = 0; j < 8; j++){
binary[j + i * 8] = binarytemp[j];
cnt++;
}
}
int x;
cin >> x;
int length = (x - 1) * cnt + 1;
char c[x][length];
for(int i = 0; i < x; i++){
for(int j = 0; j < length; j++){
c[i][j] = '_';
}
}
c[0][0] = 'x';
int idx1 = 0;
for(int i = 1; i < length; i = i+x-1){
if(binary[idx1] == 1){
for(int j = 0; j < x - 1; j++){
c[0][i + j] = 'x';
}
}
idx1++;
}
int idx2 = 0;
for(int i = 1; i < length; i = i+x-1){
if(binary[idx2] == 0){
for(int j = 0; j < x - 1; j++){
c[x - 1][i + j] = 'x';
}
}
idx2++;
}
for(int i = 0; i < length; i = i+x-1){
if(c[0][i] == 'x' && c[0][i + 1] == '_' && i < length - 1){
for(int j = 0; j < x; j++){
c[j][i] = 'x';
}
}
}
for(int i = 0; i < length; i = i+x-1){
if(c[x - 1][i] == 'x' && c[x - 1][i + 1] == '_' && i < length - 1){
for(int j = 0; j < x; j++){
c[j][i] = 'x';
}
}
}
for(int i = 0; i < x; i++){
for(int j = 0; j < length; j++){
cout << char(c[i][j]);
}
cout << "\n";
}
}
if(s[0] < 'A'){
int len = s.length();
int a[len];
for(int i = 0; i < len; i++){
a[i] = s[i] - '0';
}
int x;
cin >> x;
int length = (x - 1) * len + 1;
char c[x][length];
for(int i = 0; i < x; i++){
for(int j = 0; j < length; j++){
c[i][j] = '_';
}
}
c[0][0] = 'x';
int idx1 = 0;
for(int i = 1; i < length; i = i+x-1){
if(a[idx1] == 1){
for(int j = 0; j < x - 1; j++){
c[0][i + j] = 'x';
}
}
idx1++;
}
int idx2 = 0;
for(int i = 1; i < length; i = i+x-1){
if(a[idx2] == 0){
for(int j = 0; j < x - 1; j++){
c[x - 1][i + j] = 'x';
}
}
idx2++;
}
for(int i = 0; i < length; i = i+x-1){
if(c[0][i] == 'x' && c[0][i + 1] == '_' && i < length - 1){
for(int j = 0; j < x; j++){
c[j][i] = 'x';
}
}
}
for(int i = 0; i < length; i = i+x-1){
if(c[x - 1][i] == 'x' && c[x - 1][i + 1] == '_' && i < length - 1){
for(int j = 0; j < x; j++){
c[j][i] = 'x';
}
}
}
for(int i = 0; i < x; i++){
for(int j = 0; j < length; j++){
cout << char(c[i][j]);
}
cout << "\n";
}
}
}