1050 螺旋矩陣 (25分)
本題要求將給定的 n 個正整數按非遞增的順序,填入「螺旋矩陣」。所謂「螺旋矩陣」,是指從左上角第 1 個格仔開始,按順時針螺旋方向填充。要求矩陣的規模為 m 行 n 列,滿足條件:m×n 等於 n;m≥n;且 m−n 取所有可能值中的最小值。
輸入格式:
輸入在第 1 行中給出乙個正整數 n,第 2 行給出 n 個待填充的正整數。所有數字不超過 10
4 ,相鄰數字以空格分隔。
輸出格式:
輸出螺旋矩陣。每行 n 個數字,共 m 行。相鄰數字以 1 個空格分隔,行末不得有多餘空格。
輸入樣例:
12
3776
2098
7642
5395
6081
5893
輸出樣例:
98
9593
4237
8153
2076
5860
76
#include
#include
#include
#include
#include
#define max 10001
#define ll long long
int c[max]
;int book[max]
[max]
;int
cmp(
const
void
*a,const
void
*b)int
main()
}for
(i =
0; i < n; i++
)scanf
("%d"
,&c[i]);
qsort
(c, n,
sizeof
(c[0])
, cmp)
;// for (i = 0; i < n; i++) printf("%d ", c[i]);
int lap =
0, count =0;
i =1, j =1;
while(1
)// 核心**
for(i =
1; i <= m; i++
)printf
("\n");
}return0;
}
1050 螺旋矩陣 25分
本題要求將給定的 n 個正整數按非遞增的順序,填入 螺旋矩陣 所謂 螺旋矩陣 是指從左上角第 1 個格仔開始,按順時針螺旋方向填充。要求矩陣的規模為 m 行 n 列,滿足條件 m n 等於 n m n 且 m n 取所有可能值中的最小值。輸入格式 輸入在第 1 行中給出乙個正整數 n,第 2 行給出...
1050 螺旋矩陣 25
測試點2與6沒過 主要的點是 1 求得m與n,這個我是從1到一直到數的一半試的 2 構造螺旋矩陣,使用的是一圈一圈的方法,就是先把最外面的一圈填上,然後再填裡面的一圈,對於最後可能剩下的單獨一列,則是使用的列表是否為空來判斷,因為我把排好序的元素從列表中乙個個的彈出,然後放到矩陣中。未完待續。imp...
1050 螺旋矩陣 25
1050.螺旋矩陣 25 本題要求將給定的n個正整數按非遞增的順序,填入 螺旋矩陣 所謂 螺旋矩陣 是指從左上角第1個格仔開始,按順時針螺旋方向填充。要求矩陣的規模為m行n列,滿足條件 m n等於n m n 且m n取所有可能值中的最小值。輸入格式 輸入在第1行中給出乙個正整數n,第2行給出n個待填...