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;
}