Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: wleo.lwo
Problemset: ห่วงโซ่ (Chain)
Language: cpp
Time: 0.005 second
Submitted On: 2026-10-07 14:53:49
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
string s;
int h;
cin >> s >> h;
int H = 2 * h + 1;
// ห่วงใหม่เลื่อนไปทางขวา 2h-1 ช่อง
int move = 2 * h - 1;
// ความกว้างของภาพทั้งหมด
int W = 2 * h + 1 + (s.size() - 1) * move;
// สร้างภาพที่มีแต่ .
vector<string> ans(H, string(W, '.'));
// วาดทีละตัวอักษร
for (int k = 0; k < s.size(); k++) {
int start = k * move;
for (int i = 0; i < H; i++) {
int dis;
if (i <= h) {
dis = h - i;
}
else {
dis = i - h;
}
int left = start + dis;
int right = start + 2 * h - dis;
ans[i][left] = s[k];
ans[i][right] = s[k];
}
}
// แสดงผล
for (int i = 0; i < H; i++) {
cout << ans[i] << '\n';
}
return 0;
}