zoukankan      html  css  js  c++  java
  • 蛇形填数

    描述在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:
    10 11 12 1
    9 16 13 2
    8 15 14 3
    7 6 5 4

     
    输入
    直接输入方陈的维数,即n的值。(n<=100)
    输出
    输出结果是蛇形方陈。
    样例输入
    3
    样例输出
    7 8 1
    6 9 2
    5 4 3

     1 import java.util.Scanner;
     2 
     3 public class Main {
     4     public static void main(String[] args) {
     5         Scanner scanner=new Scanner(System.in);
     6         int n;
     7         int flag[][]=new int[101][101];
     8         int i;
     9         int j;
    10         int count;
    11         String direction;
    12         
    13         n=scanner.nextInt();
    14         
    15         for(i=0;i<n;i++){
    16             for(j=0;j<n;j++)
    17                 flag[i][j]=0;
    18         }
    19         
    20         i=0;
    21         j=n-1;
    22         direction="south";
    23         count=1;
    24         
    25         while(true){
    26             flag[i][j]=count;
    27             count++;
    28 
    29             if(direction.compareTo("south")==0){
    30                 i++;
    31                 
    32                 if(i==n || flag[i][j]!=0){
    33                     direction="west";
    34                     i--;
    35                     j--;
    36                 }
    37             }
    38             
    39             else if(direction.compareTo("west")==0){
    40                 j--;
    41                 
    42                 if(j==-1 || flag[i][j]!=0){
    43                     direction="north";
    44                     j++;
    45                     i--;
    46                 }
    47             }
    48             
    49             else if(direction.compareTo("north")==0){
    50                 i--;
    51                 
    52                 if(i==-1 || flag[i][j]!=0){
    53                     direction="East";
    54                     i++;
    55                     j++;
    56                 }
    57             }
    58             
    59             else if(direction.compareTo("East")==0){
    60                 j++;
    61                 
    62                 if(j==n || flag[i][j]!=0){
    63                     direction="south";
    64                     j--;
    65                     i++;
    66                 }
    67             }
    68             
    69             if(count==n*n+1)
    70                 break;
    71         }
    72         
    73         for(i=0;i<n;i++){
    74             for(j=0;j<n;j++)
    75                 System.out.print(flag[i][j]+" ");
    76         
    77             System.out.println();
    78         }
    79     }
    80 }
     
  • 相关阅读:
    javascript 杂记
    Sublime Text 3 杂记
    Visual Studio命令行工具
    iOS Crash日志
    Cocos引擎开发者指南(1-5)
    Linux防火墙配置(iptables, firewalld)
    jenkins使用git SCM时changelog乱码(Jenkins部署在Linux上,任务在Windows Slave上构建)
    C#枚举类型
    Java 实现大转盘抽奖
    HaspMap和ConcurrentHashMap
  • 原文地址:https://www.cnblogs.com/zqxLonely/p/4130483.html
Copyright © 2011-2022 走看看