1050 螺旋矩陣 25分 c語言

2021-10-18 10:14:28 字數 1257 閱讀 4598

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個待填...