[pat]1105. Spiral Matrix (25)
来源:互联网 发布:程序员的思维锻炼 编辑:程序博客网 时间:2024/06/07 07:20
https://www.patest.cn/contests/pat-a-practise/1105
#pragma warning(disable:4996)#include<vector>#include<algorithm>#include<iostream>#include<string>using namespace std;bool cmp(int a, int b){return a > b;}int res[200][200];int main(){int n;int i, j, k;cin>>n;vector<int> vn;for(i = 0; i < n; i++){int a;cin>>a;vn.push_back(a);}sort(vn.begin(), vn.end(), cmp);int col = sqrt(n);int row = col+1 ;while(n % col) col--;row = n / col;int rbegin = 1, rend = row;int cbegin = 1, cend = col;i = 0;int r = 1, c = 1;int mcase = 1;while(i < vn.size()){switch(mcase){case 1:for(c = cbegin; c <= cend && i < vn.size(); c++){res[r][c] = vn[i++];}c--;mcase = 2;rbegin++;break;case 2:for(r = rbegin; r <= rend && i < vn.size(); r++){res[r][c] = vn[i++];}r--;mcase = 3;cend--;break;case 3:for(c = cend; c >= cbegin && i < vn.size(); c--){res[r][c] = vn[i++];}c++;mcase = 4;rend--;break;case 4:for(r = rend; r >= rbegin && i < vn.size(); r--){res[r][c] = vn[i++];}r++;mcase = 1;cbegin++;break;}if(rbegin > rend || cbegin > cend) break; }for(int i = 1; i <= row; i++){if(i != 1) printf("\n");for(int j = 1; j <= col; j++){if(j != 1) printf(" ");printf("%d", res[i][j]);}}system("pause");return 0;}
0 0
- 【PAT】1105. Spiral Matrix (25)
- PAT 1105. Spiral Matrix (25)
- [pat]1105. Spiral Matrix (25)
- PAT--1105. Spiral Matrix (25)
- PAT 1105. Spiral Matrix (25)
- pat 1105. Spiral Matrix (25)
- 【PAT】1105. Spiral Matrix
- PAT A 1105. Spiral Matrix (25)
- 【PAT】【Advanced Level】1105. Spiral Matrix (25)
- Pat(A) 1105. Spiral Matrix (25)
- PAT 甲级 1105. Spiral Matrix (25)
- PAT 甲级:1105. Spiral Matrix
- pat-a1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)-PAT甲级真题
- [转]PAT甲级练习1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 数学——Leftmost Digit
- 系统设计socket服务在电子商务上的试用
- web session详解
- Python编写定时关机小脚本
- android的sql表单新增字段- alter table
- [pat]1105. Spiral Matrix (25)
- iOS之旅--用CollectionView实现轮播图效果+封装方法
- php mysql大数据处理
- HDU 1002 A + B Problem II (JAVA大数)
- IOS开发中新特性的实现
- K--近邻算法示例
- Codeforces Round #277 (Div. 2)(A)模拟,打表
- 贝塞尔曲线精讲
- C++第1次实验