Submission
Status:
PPP---P---
Subtask/Task Score:
40/100
Score: 40
User: Jokul
Problemset: ห่วงโซ่ (Chain)
Language: c
Time: 0.015 second
Submitted On: 2025-10-09 14:16:58
#include<stdio.h>
#include<string.h>
int main(){
int n,l,c=0;
char s[251];
scanf("%s",s);
l=strlen(s);
scanf("%d",&n);
for(int i=0;i<2*n+1;i++)
{
c=0;
//first and last line///////////////////////////
if(i==0||i==2*n)
{
for(int j=-n;j<n+l+(l-1)*(2*n-2);j++)
{
if(j%(2*n-1)==0)
{
printf("%c",s[j/(2*n-1)]);
}
else
{
printf(".");
}
}
}
//upper part///////////////////////////////////
else if(i<n)
{
for(int j=-n;j<n+l+(l-1)*(2*n-2);j++)
{
if(j%(2*n-1)==i&&j<n+l+(l-1)*(2*n-2)-1||j%(2*n-1)==-i&&j<n+l+(l-1)*(2*n-2)-1||j%(2*n-1)==2*n-1-i&&j<n+l+(l-1)*(2*n-2)-1)
{
printf("%c",s[(j+i)/(2*n-1)]);
}
else
{
printf(".");
}
}
}
/////middle///////////////////////
else if(i==n)
{
for(int j=-n;j<n+l+(l-1)*(2*n-2);j++)
{
if((n+j)%(2*n-1)==0&&n+j<n+l+(l-1)*(2*n-1)-3)
{
printf("%c",s[(n+j)/(2*n-1)]);
}
else if((n+j)%(2*n-1)==1&&n+j>1)
{
printf("%c",s[(n+j)/(2*n-1) -1]);
}
else
{
printf(".");
}
}
}
////lower part///////////////////////////
else if(i>n)
{
for(int j=-n;j<n+l+(l-1)*(2*n-2);j++)
{
if((j+n)%(2*n-1)==-n+i&&j+n<n+l+(l-1)*(2*n-2))
{
printf("%c",s[(j+n-1)/(2*n-1)]);
}
else if ((j)%(2*n-1)==2*n-i)
{
printf("%c",s[j/(2*n-1)]);
}
else
{
printf(".");
}
}
}
printf("\n");
}
}