随碟附送步骤
随碟附送方法
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.print.attribute.standard.Destination;
import javax.swing.tree.FixedHeightLayoutCache;
public class Test {
static int[][] dest ;
static int sideCount =1;
static int sum =1;
static int step ;
static int fix =4;
/**
* @param args
*/
public static void main(String[] args) {
int n =fix;
// count = n*n;
dest = new int[n][n];
//sum = n*n;
sort(0,0);
int i=n;
int j=n;
/*
for(;i>=0;i--){
for(;j>=0;j--){
System.out.println("11");
}
}*/
}
public static void sort(int x, int y ){
//正负标志
//double flag =Math.pow(-1, (count+1)/2);
System.out.println("Test.sideCount:"+Test.sideCount );
System.out.println("x:"+x+"_y:"+y);
int result = Test.sideCount%4;
System.out.println("result:"+result);
if(result==2){//2
while ((y<=(fix-1))&&dest[y][x]==0) {
dest[y][x] = sum;
if(y!=(fix-1)){
y++;
}
sum++;
System.out.println(sum);
}
x--;
}else if(result==3){//3
while (x>=0&&dest[y][x]==0) {
dest[y][x] = sum;
if(x!=0){
x--;
}
sum++;
System.out.println(sum);
}
y--;
}else if(result==0){//0
while (y>=0&&dest[y][x]==0) {
dest[y][x] = sum;
if(y!=0){
y--;
}
sum++;
System.out.println(sum);
}
x++;
}else if(result==1){//1
while ((x<=(fix-1))&& dest[y][x]==0) {
dest[y][x] = sum;
if(x!=(fix-1)){
x++;
}
sum++;
System.out.println(sum);
}
y++;
}
if(Test.sum==fix*fix){
return;
}
if( Test.sideCount==30){
return;
}
Test.sideCount++;
sort(x, y);
}
}
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.print.attribute.standard.Destination;
import javax.swing.tree.FixedHeightLayoutCache;
public class Test {
static int[][] dest ;
static int sideCount =1;
static int sum =1;
static int step ;
static int fix =4;
/**
* @param args
*/
public static void main(String[] args) {
int n =fix;
// count = n*n;
dest = new int[n][n];
//sum = n*n;
sort(0,0);
int i=n;
int j=n;
/*
for(;i>=0;i--){
for(;j>=0;j--){
System.out.println("11");
}
}*/
}
public static void sort(int x, int y ){
//正负标志
//double flag =Math.pow(-1, (count+1)/2);
System.out.println("Test.sideCount:"+Test.sideCount );
System.out.println("x:"+x+"_y:"+y);
int result = Test.sideCount%4;
System.out.println("result:"+result);
if(result==2){//2
while ((y<=(fix-1))&&dest[y][x]==0) {
dest[y][x] = sum;
if(y!=(fix-1)){
y++;
}
sum++;
System.out.println(sum);
}
x--;
}else if(result==3){//3
while (x>=0&&dest[y][x]==0) {
dest[y][x] = sum;
if(x!=0){
x--;
}
sum++;
System.out.println(sum);
}
y--;
}else if(result==0){//0
while (y>=0&&dest[y][x]==0) {
dest[y][x] = sum;
if(y!=0){
y--;
}
sum++;
System.out.println(sum);
}
x++;
}else if(result==1){//1
while ((x<=(fix-1))&& dest[y][x]==0) {
dest[y][x] = sum;
if(x!=(fix-1)){
x++;
}
sum++;
System.out.println(sum);
}
y++;
}
if(Test.sum==fix*fix){
return;
}
if( Test.sideCount==30){
return;
}
Test.sideCount++;
sort(x, y);
}
}