矩形的逆时针蛇形填数
2016-09-01 21:42
239 查看
矩形的逆时针蛇形填数
主程序代码: import java.util.*; public class Snake { static int a[][]=new int [15][15]; public static void main(String[] args) { Scanner input=new Scanner(System.in); int N=input.nextInt(); //定义四个方向,分别为 右、下、左、上 int[][] direction={{0,1},{1,0},{0,-1},{-1,0}}; int[][] matrix=new int ; //x,y分别代表了矩阵中的行和列 int x=0,y=N-1; int d=1; for(int i=0; i<N*N; i++) { //正常情况一直累加 matrix[x][y]=i+1; x+=direction[d][0]; y+=direction[d][1]; // x>=0 x<N y>=0 y<N 用于保证矩阵的元素必须在矩阵内 //,matrix用于保证 设置过矩阵位置的元素不被覆盖掉 if(!(x>=0 && x<N && y>=0 && y<N) || matrix[x][y]!=0) { //如果以上情况不满足,证明x 和 y 的值需要撤销掉, x-=direction[d][0]; y-=direction[d][1]; ++d; //四个方向 0 1 2 3 d%=4; //重新调整后的方向 x+=direction[d][0]; } } for(int[] o:matrix) { for(int i:o) System.out.print(i+" "); System.out.println(); } }
相关文章推荐
- java蛇形矩阵输出方法(顺时针、逆时针)
- 把矩形中的元素蛇形打印出来
- iOS中drawRect方法实现画圆角矩形,顺时针和逆时针
- 任意矩形填充蛇形数字
- 逆时针蛇形排列矩阵
- 【线性扫描】题型总结:最大积连续序列,str2int,2sum, 4sum,reverse word, 链表操作, 蛇形访问, 最大蓄水池,直方图最大矩形
- 称量硬币 和 2016腾讯的蛇形矩形
- 纯CSS技术实现可变高度的圆角矩形框-so easy
- 【LeetCode-面试算法经典-Java实现】【223-Rectangle Area(矩形区域)】
- Codevs 题目3044 矩形面积求并(线段树+扫描线+离散化)
- 用gd库画矩形和椭圆
- 最大的矩形-CCF测试往届题
- Rectangle Area 两个矩形的面积
- 蛇形填数
- CF581D三个矩形能否构成一个无空隙的正方形
- HDU ACM 2524 矩形A + B
- 嵌套矩形问题
- 矩形覆盖
- poj 1410 Intersection 【判断线段 与矩形面是否相交】
- 矩形嵌套