Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: loop
Problemset: ห่วงโซ่ (Chain)
Language: cpp
Time: 0.004 second
Submitted On: 2026-10-10 18:32:56
#include <cstdio>
#include <cstring>
#include <string>
#include <iostream>
using namespace std;
// Diamond k starts at column k*(2h-1); neighbouring diamonds interlock without sharing a cell.
int main() {
string s;
int h;
cin >> s >> h;
int n = s.size(), w = (n - 1) * (2 * h - 1) + 2 * h + 1;
string row(w, '.');
for (int r = 0; r <= 2 * h; r++) {
for (int x = 0; x < w; x++) row[x] = '.';
int d = r < h ? h - r : r - h;
for (int k = 0; k < n; k++) {
int start = k * (2 * h - 1);
row[start + d] = s[k];
row[start + 2 * h - d] = s[k];
}
fwrite(row.data(), 1, w, stdout);
putchar('\n');
}
return 0;
}