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