問題
/*基礎練習 回形取數
時間限制:1.0s 記憶體限制:512.0mb
關鍵字:二維陣列 迴圈
問題描述
回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。
輸入格式
輸入第一行是兩個不超過200的正整數m, n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。
輸出格式
輸出只有一行,共mn個數,為輸入矩陣回形取數得到的結果。數之間用乙個空格分隔,行末不要有多餘的空格。
樣例輸入
3 31 2 3
4 5 6
7 8 9
樣例輸出
1 4 7 8 9 6 3 2 5
樣例輸入
3 21 2
3 45 6
樣例輸出
1 3 5 6 4 2
*/**
答案
#include #include #define max_n 200
int m,n;
int a[max_n][max_n],b[max_n][max_n];
int s=0;
void solve(int i,int j)
else
if(s%4 == 0)
solve(i+1,j);
if(s%4 == 1)
solve(i,j+1);
if(s%4 == 2)
solve(i-1,j);
if(s%4 == 3)
solve(i,j-1);
return ;
}int main()
else
if(s%4==0)
sort(i+1,j);//已經是遞迴了,不需要有迴圈
if(s%4==1)
sort(i,j+1);
if(s%4==2)
sort(i-1,j);
if(s%4==3)
sort(i,j-1);
return ;
}int main()
} sort(1,1);//注意這是從1開始的
puts("");
return 0;
}
十四 回形取數
題目 回形取數 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。輸出格式 輸出只有一行,共mn個數,為輸入矩陣回形取數得到的結果。數...
1991 回形取數
時間限制 1 sec 記憶體限制 512 mb 提交 97 解決 32 提交 狀態 討論版 命題人 外部匯入 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。1 2 3 4 5 6輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。...
11 回形取數
基礎練習 回形取數 時間限制 1.0s 記憶體限制 512.0mb 錦囊1迴圈,標記。錦囊2使用多次迴圈來處理,也可以對取過的數標記來簡化迴圈的判斷。問題描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過2...