Submission

Status:

PPP---P---

Subtask/Task Score:

40/100

Score: 40

User: Jokul

Problemset: ห่วงโซ่ (Chain)

Language: c

Time: 0.013 second

Submitted On: 2025-10-09 18:23:02

#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);
    if(n>=3)
    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");
    }
    ///////////////////////////////////////
    else if(n==2)
    {
        for(int i=0;i<5;i++)
        {
            if(i==0||i==4)
            {
                printf("..");
                for(int j=0;j<l;j++)
                {
                    printf("%c..",s[j]);
                }
            }
            ///////////upper////////////
            else if(i==1)
            {
                printf(".");
            for(int j=0;j<l;j++)
                {
                    printf("%c",s[j]);
                    printf(".");
                    printf("%c",s[j]);
                }
                printf(".");
            }
            ///////middle//////////////
            else if(i==2)
            {
            if(l==1)
            {
                printf("%c...%c",s[0],s[0]);
            }
            else
            {
                for(int j=0;j<3*(l)+1;j++)
                {
                     if(j==0)
                    {
                        printf("%c",s[j/3]);
                    }
                    else if(j%3==0&&j<3*l)
                    {
                        printf("%c",s[j/3]);
                    }
                    else if(j>1&&j%3==1)
                    {
                        printf("%c",s[(j-3)/3]);
                    }
                    else
                    {
                        printf(".");
                    }
                }
                printf("%c",s[l-1]);
            }
            }
            ////lower//////////////////////////
            else if(i==3)
            {
             printf(".");
            for(int j=0;j<l;j++)
                {
                    printf("%c",s[j]);
                    printf(".");
                    printf("%c",s[j]);
                }
            }
            printf("\n");
        }
    }
}