蛇形算法
2015-09-23 20:21
225 查看
import java.util.Scanner; public class Snake{ public static void main(String[] args) { System.out.println("请输入蛇的维度n:"); Scanner input=new Scanner(System.in); //班级数n int a[][] = new int[21][21]; int i,j; int n=input.nextInt(); for( i=0; i<n; i++) for (j=0; j<n; j++) a[i][j] = -1; int value = 1, max = n*n; i = 0; j=n-1; int inci = 1, incj = 0; int nexti, nextj; while(value <= max){ a[i][j] = value ++; //printf("i=%d, j=%d value=%d\n",i, j, value-1); nexti = i + inci; nextj = j + incj; if( nexti>n-1 || nexti<0 || nextj>n-1 || nextj<0 || a[nexti][nextj] != -1) { if(inci==1 && incj==0) { inci= 0; incj=-1; } else if(inci==0 && incj==-1) { inci= -1; incj=0; }else if(inci==-1 && incj==0) { inci = 0; incj=1; }else { inci = 1;incj=0; } nexti = i+inci; nextj = j+incj; } i = nexti; j = nextj; } for (i=0; i<n; i++) { for(j=0; j<n; j++) System.out.print(a[i][j]+" "); System.out.println();; } } }
相关文章推荐
- 如何使用反编译软件得到源码
- 关于栈的操作
- 测试杂谈
- snprintf()和sprintf()学习
- Start React Native In Android
- 自定义TableViewCell内容
- Android Studio调用第三方动态库
- 2015 ACM/ICPC Asia Regional Shenyang Online
- 数据结构与算法分析(c++版) #8 顺序栈和链式栈
- OSSIM识别APT的三板斧
- Autofac.Configuration 3.3.0不稳定
- LeetCode---Number of 1 Bits
- makefile推荐写法
- void的两个奇葩用法
- oracle操作之传输表空间
- hdu1013(模拟题)
- ios激情详解之动画旋转
- iOS使用定时器,并添加到子线程运行
- redis的配置
- 数独游戏的设计与实现