?? zigzag.cpp
字號:
#include "stdafx.h"
#include "zigzag.h"
coordinate zigzagPos[63];
//zigzagPos[0]=(1,0) [0~62]
unsigned short int zigzag(int &x, int &y, int &d, int N){
//Move cursor to the next point of zigzag on N*N map, and return 1 when current cursor is the last one
//d stands for direction: always x+direction, y-direction, left-down for -1
if ((x==(N-1))&&(y==(N-1)))
{
x=1; y=0;
return 1;
}
else
{
if (((x+=d)<0)|( (y-=d)<0)|| x==N || y==N)
{
d=-d;
if (y==N) {
y--;
x+=2;
}
else
if (x==N) {
x--;
y+=2;
}
else {
if (y<0) y=0;
if (x<0) x=0;
}
}
return 0;
}
}
void initZigZag(int N){
int x=1, y=0, d=-1;
zigzagPos[0].x=x;
zigzagPos[0].y=y;
for (int i=1;i<N*N-1;i++){
zigzag(x,y,d,N);
zigzagPos[i].x=x;
zigzagPos[i].y=y;
}
}
void fastZigZag(int i, int &x, int &y){
x=zigzagPos[i].x;
y=zigzagPos[i].y;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -