1. 程式人生 > >第三屆ACM/ICPC新生賽初賽題解

第三屆ACM/ICPC新生賽初賽題解

#include<stdio.h>
int main(){
    int m;
    scanf("%d",&m);
    char c;
    getchar();
    scanf("%c",&c);
    int x=m-1;
    int i=1;
    //判斷有多少行 
    while((2*i+4)*i<=x){
        i++;
    }
    int row=--i;
    //列印上三角 
    for(int i=row;i>=0;i--){
        for(int j=0;j<row-i;j++)
        printf(" ");
        for(int j=0;j<2*i+1;j++)
        printf("%c",c);
        printf("\n");
    }
 	//列印下三角 
    for(int i=1;i<=row;i++){
        for(int j=0;j<row-i;j++)
        printf(" ");
        for(int j=0;j<2*i+1;j++)
        printf("%c",c);
        printf("\n");
    }
  	printf("%d\n",x-(row*2+4)*row);
 
}