1050 螺旋矩阵(25)
来源:互联网 发布:网络反侦查 编辑:程序博客网 时间:2024/06/04 19:09
虽然说是25分的题,而且是最后一道,但是还是很简单的,毕竟是乙级嘛。网了也有一些答案,不过方法都挺复杂,我的这方法思路比较简单。很容易理解。
本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为m行n列,满足条件:m*n等于N;m>=n;且m-n取所有可能值中的最小值。
int **Too(int x, int y, int num[]);int* fun(int N){ int *a ; a = new int[3]; int m = 0, n = 0,x,y; int tmp = N; for (n = 1; n <= N; ++n){ for (m = n; m <= N; ++m){ if (m*n == N){ if (m - n < tmp){ tmp = m - n; y= m; x= n; } } } } a[0] = y; a[1] =x; return a;}void PAT1050(){ //求矩阵的规模为m行n列,满足条件:m*n等于N;m>=n;且m-n取所有可能值中的最小值。 int num[12] = { 37, 76, 20, 98 ,76, 42, 53, 95, 60, 81, 58, 93 }; int N = 12,x,y,k=0; int *tmp; tmp = fun(N); x = tmp[1]; y = tmp[0]; sort(num, num + 12); reverse(num, num + 12); int **a; a = Too(x, y, num); for (int i = 0; i < y; ++i){ for (int j = 0; j < x; ++j){ cout << setw(3) << a[i][j]; } cout << endl; }}int **Too(int x, int y, int num[]){ int **mat; mat = new int*[y]; for (int i = 0; i < y; ++i){ mat[i] = new int[x]; } int i, j, k = 0, m; if (x % 2 == 0)m = x / 2; else m = x / 2 + 1; for (i = 0; i < m; ++i){ for (j = i; j<x - i; j++) { mat[i][j] = num[k++]; } for (j = i + 1; j<y - i; j++) { mat[j][x - i - 1] = num[k++]; } for (j = x - i - 2; j >= i; j--) { mat[y - i - 1][j] = num[k++]; } for (j = y - i - 2; j >= i + 1; j--) { mat[j][i] = num[k++]; } } return mat;}
0 0
- 1050 螺旋矩阵(25)
- pat B 1050 螺旋矩阵(25)
- PAT乙级 1050 螺旋矩阵(25)
- 自己写的1050螺旋矩阵(25)
- 1050 螺旋矩阵
- PAT 1050螺旋矩阵
- 1050. 螺旋矩阵(25)
- 1050. 螺旋矩阵(25)
- 1050. 螺旋矩阵(25)
- 1050. 螺旋矩阵(25)
- 1050. 螺旋矩阵(25)
- 1050. 螺旋矩阵(25)
- PAT螺旋矩阵(25)
- 1050. 螺旋矩阵(25)
- 1050. 螺旋矩阵(25)
- 1050. 螺旋矩阵(25)
- 1050. 螺旋矩阵(25)
- 1050. 螺旋矩阵(25)
- 基础练习 十六进制转十进制
- 网络多线程
- java.lang.NoClassDefFoundError: org/mybatis/generator/exception/InvalidConfigurationException
- 同名函数及链接过程
- 日本房地产泡沫破裂后的平民生活
- 1050 螺旋矩阵(25)
- Kotlin入门篇之——HelloWord
- HDU 2832 Snail’s trouble [模拟]
- ningbooj--1655--木块拼接(贪心)
- Error:java.io.FileNotFoundException: 系统找不到指定的文件.
- 关于linux socket 编程 端口复用的理解
- 图形化打印二叉树
- java 数据结构 常见的排序算法
- leetcode:Count of Smaller Numbers After Self