PAT-乙级-1050 螺旋矩阵

本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n列,满足条件:m×n 等于 N;m≥n;且 m?n 取所有可能值中的最小值。

输入格式:

输入在第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数。所有数字不超过 104,相邻数字以空格分隔。

输出格式:

输出螺旋矩阵。每行 n 个数字,共 m 行。相邻数字以 1 个空格分隔,行末不得有多余空格。

输入样例:

12
37 76 20 98 76 42 53 95 60 81 58 93

输出样例:

98 95 93
42 37 81
53 20 76
58 60 76

原文地址:https://www.cnblogs.com/tenjl-exv/p/9899137.html

时间: 2024-10-01 00:14:13

PAT-乙级-1050 螺旋矩阵的相关文章

pat乙级1050螺旋矩阵

1.用vector建立二维数组: 1 vector<vector<int>> arr(rows); 2 for (int i = 0; i < rows; i++) 3 arr[i].resize(cols); 或: 1 vector<vector<int>> v(m, vector<int>(n)); 2.当数组已初始化但某些下标还未赋值时,此下标对应的变量为NULL(见34行) 代码: 1 #include <iostream&g

PAT Basic 1050 螺旋矩阵 (25 分)

本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”.所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N:m≥n:且 m−n 取所有可能值中的最小值. 输入格式: 输入在第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数.所有数字不超过 1,相邻数字以空格分隔. 输出格式: 输出螺旋矩阵.每行 n 个数字,共 m 行.相邻数字以 1 个空格分隔,行末不得有多余空格. 输入样例: 12 3

PAT 1050. 螺旋矩阵

PAT 1050. 螺旋矩阵 本题要求将给定的N个正整数按非递增的顺序,填入"螺旋矩阵".所谓"螺旋矩阵",是指从左上角第1个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为m行n列,满足条件:m*n等于N:m>=n:且m-n取所有可能值中的最小值. 输入格式: 输入在第1行中给出一个正整数N,第2行给出N个待填充的正整数.所有数字不超过104,相邻数字以空格分隔. 输出格式: 输出螺旋矩阵.每行n个数字,共m行.相邻数字以1个空格分隔,行末不得有多余空格.

PTA乙级(*1050 螺旋矩阵 (25分))

1050 螺旋矩阵 (25分) https://pintia.cn/problem-sets/994805260223102976/problems/994805275146436608 https://paste.ubuntu.com/p/Dn7fQ9Gf73/ #include <cstdio> #include <iostream> #include <cstring> #include <string> #include <cmath>

1050 螺旋矩阵 (25分)

VS2019堆栈溢出---定义了过大的数组,运行程序弹出chkstk.asm的解决方法 用new定义数组 首先要算出合适的m,n--行.列数 附:几个特殊的测试点,输入3个数.27个数.11个数 然后new一个二维数组,将给出的数套进去, i=0;j=0;光标先向右,再向下,再向左,再向上,再向右...如何循环 给出四周的边界数--top = 0, left = -1, right = n, down = m; 再给出当前的轨迹方向-- r = 1, l = 0, up = 0, d = 0;

1050. 螺旋矩阵(25) pat乙级题

本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”.所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为m行n列,满足条件:m*n等于N:m>=n:且m-n取所有可能值中的最小值. 输入格式: 输入在第1行中给出一个正整数N,第2行给出N个待填充的正整数.所有数字不超过104,相邻数字以空格分隔. 输出格式: 输出螺旋矩阵.每行n个数字,共m行.相邻数字以1个空格分隔,行末不得有多余空格. 输入样例: 12 37 76 20 98 76 42 53 95

1050. 螺旋矩阵(25)

本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”.所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为m行n列,满足条件:m*n等于N:m>=n:且m-n取所有可能值中的最小值. 输入格式: 输入在第1行中给出一个正整数N,第2行给出N个待填充的正整数.所有数字不超过104,相邻数字以空格分隔. 输出格式: 输出螺旋矩阵.每行n个数字,共m行.相邻数字以1个空格分隔,行末不得有多余空格. 输入样例: 12 37 76 20 98 76 42 53 95

1050 螺旋矩阵

题意: 结果: 分析: 要仔细读题,题目中已经暗示了做题的方法,那么这就是一类简单模拟题. 这个方法就是: 步骤一,把元素向右一直填入矩阵,直到碰到矩阵边界,或者将要填入的位置已存在元素,就停止填入,转步骤二: 步骤二,把元素向下一直填入矩阵,直到碰到矩阵边界,或者将要填入的位置已存在元素,就停止填入,转步骤三: 步骤三,把元素向左一直填入矩阵,直到碰到矩阵边界,或者将要填入的位置已存在元素,就停止填入,转步骤四: 步骤四,把元素向上一直填入矩阵,直到碰到矩阵边界,或者将要填入的位置已存在元素,

PAT Basic 1050

1050 螺旋矩阵 本题要求将给定的 N 个正整数按非递增的顺序,填入"螺旋矩阵".所谓"螺旋矩阵",是指从左上角第 1 个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N:m≥n:且 m?n 取所有可能值中的最小值. 输入格式: 输入在第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数.所有数字不超过 10?4??,相邻数字以空格分隔. 输出格式: 输出螺旋矩阵.每行 n 个数字,共 m 行.相邻数字以