蓝桥杯打印十字架

    xiaoxiao2021-03-25  82

    #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> using namespace std; bool map[1005][1005],n; void dfs(int x,int y) { if(x==1&&x==y) return; map[x][y]=map[x-1][y]=map[x-2][y]=map[x][y-1]=map[x][y-2]=1; for(int i=y+1;i<=2*n+3;i++) map[x-2][i]=1; for(int i=x+1;i<=2*n+3;i++) map[i][y-2]=1; dfs(x-2,y-2); } void print() { int i,j; for(i=1;i<=2*n+3;i++) { for(j=1;j<=2*n+3;j++) if(map[i][j]) putchar('$'); else putchar('.'); for(j=j-2;j>0;j--) if(map[i][j]) putchar('$'); else putchar('.'); putchar('\n'); } for(i=i-2;i>0;i--) { for(j=1;j<=2*n+3;j++) if(map[i][j]) putchar('$'); else putchar('.'); for(j=j-2;j>0;j--) if(map[i][j]) putchar('$'); else putchar('.'); putchar('\n'); } } int main() { while(scanf("%d",&n)!=EOF) { memset(map,0,sizeof(map)); dfs(2*n+3,2*n+3); print(); //system("pause"); } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-25774.html

    最新回复(0)