围棋
2016-02-19 16:50
169 查看
1007:围棋
Time Limit: 1 Sec Memory Limit: 128 MB 64bit IO Format: %lld
Submitted: 184 Accepted: 98
[Submit][Status][Web Board]
Description
小明有一天玩完围棋突然想到,围棋是包围形的游戏,我可以做出一个一层层互相包围的正方形棋盘吗?小明很感兴趣却不知道怎么做,现在由你来解决这个问题。
Input
输入一个数字n(n<30)来规定围棋的正方形边长。(多组测试)
Output
输出正方形棋盘。
每次测试结束空一行。
当奇数时最外层为‘*’否则为‘@’。
Sample Input
5
Sample Output
@@@
@@*
@@@
Time Limit: 1 Sec Memory Limit: 128 MB 64bit IO Format: %lld
Submitted: 184 Accepted: 98
[Submit][Status][Web Board]
Description
小明有一天玩完围棋突然想到,围棋是包围形的游戏,我可以做出一个一层层互相包围的正方形棋盘吗?小明很感兴趣却不知道怎么做,现在由你来解决这个问题。
Input
输入一个数字n(n<30)来规定围棋的正方形边长。(多组测试)
Output
输出正方形棋盘。
每次测试结束空一行。
当奇数时最外层为‘*’否则为‘@’。
Sample Input
5
Sample Output
@@@
@@*
@@@
#include <stdio.h> int main() { int n,i,j,k; while(scanf("%d",&n)!=EOF) { char a[40][40]; for(i=0; i<30; i++) for(j=0; j<30; j++) a[i][j]='0'; i=0; j=0; int t=0; char ch; if(n%2!=0) { a[0][0]='*'; while(t<=(n+1)/2)//写成函数会比较好 { t++; if(t%2!=0) ch='*'; else ch='@'; while(j+1<n&&a[i][j+1]=='0') { a[i][++j]=ch; } while(i+1<n&&a[i+1][j]=='0') { a[++i][j]=ch; } while(j-1>=0&&a[i][j-1]=='0') { a[i][--j]=ch; } while(i-1>=0&&a[i-1][j]=='0') { a[--i][j]=ch; } } } else { a[0][0]='@'; while(t<=n/2) { t++; if(t%2!=0) ch='@'; else ch='*'; while(j+1<n&&a[i][j+1]=='0') { a[i][++j]=ch; } while(i+1<n&&a[i+1][j]=='0') { a[++i][j]=ch; } while(j-1>=0&&a[i][j-1]=='0') { a[i][--j]=ch; } while(i-1>=0&&a[i-1][j]=='0') { a[--i][j]=ch; } } } for(i=0; i<n; i++) { for(j=0; j<n; j++) printf("%c",a[i][j]); printf("\n"); } printf("\n"); } return 0; }
相关文章推荐
- 3D Touch集成过程整理
- Springmvc 注解 伪静态(urlrewrite) 配置
- css之通配符选择器
- enumerateObjectsUsingBlock 、for 、for(... in ...) 的区别 & 性能测试
- 去掉xcode编译warning:ld: warning: directory not found for option:xxxxxx 的方法
- Boost 编译
- Java UDP 简单实例
- MFC对话框中临时屏蔽掉一个控件
- 如何简单地测算系统吞吐量
- leetcode笔记--Reorder List
- Pod基本命令
- WinCE系统下应用崩溃原因的分析方法
- Android访问网络
- centos 常用命令
- 利用python进行数据分析之pandas库的应用(二)
- Python文件夹与文件的操作
- UIButton.titleLabel.text和[UIButton setTitle:],UIButton.imageView.image和[UIButton setImage]的区别
- rpm 命令
- 简单工厂模式
- 点滴小问题总结