ACM 蛇形填數

2021-07-06 09:57:39 字數 846 閱讀 5315

先從陣列的最右上端開始填數,需要填的次數為 n * 2 - 1 次。(若n為3,則需要 3 * 2 - 1 = 5 次)

填充的方向為下、左、上、右。填充的次數:首次為n次,後面的兩輪為n-1次,再後面的兩輪為n-2次......

#include using namespace std;

#define rank 100

//r:當前行 c:當前列 count:迴圈次數 val:起始值 dir:填充方向 (注意:好幾個引數都使用了引用傳遞)

void fillarray(int parr[100], int& r, int& c, int count, int& val, int& dir)

break;

case 1://向左,行不變,將當前列自減

for(i = 0; i < count; ++i)

break;

case 2://向上,列不變,將當前行自減

for(i = 0; i < count; ++i)

break;

case 3://向右,行不變,將當前列自增

for(i = 0; i < count; ++i)

break;

} ++dir;//方向加1,即表示需要改變一下填充方向

}int main()

else

}//output

for(i = 0; i < w; ++i)

cout << endl;

} return 0;

}

acm 蛇形填數

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 在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...

C 蛇形填數

蛇形填數 問題描述 在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 輸出輸出結果是蛇形方陳。問題分析 我們定義乙個二維陣列,開始x 0,y n 1,即第一行...

NYoj 蛇形填數

描述 在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 include ...