1105. Spiral Matrix (25)
来源:互联网 发布:中国的软件怎么样 编辑:程序博客网 时间:2024/05/17 06:27
1105. Spiral Matrix (25)
#include <iostream>#include <vector>#include <algorithm>#include <string>#include <map>using namespace std;int matrix[10000+1][10000+1];void getMandN(int &m,int &n,int num){ int sq=sqrt(num*1.0); n=m=sq; while(m*n!=num) { while(m*n<num) ++m; if(m*n==num) break; --n; }}int main(){ int num,m=1,n=1; cin>>num; std::vector<int> v; for(int i=0;i<num;++i) { int t; cin>>t; v.push_back(t); } sort(v.begin(),v.end(),greater<int>()); getMandN(m,n,num); int i=1,j=1,k=0,layer=0; while(k<num) { while(k<num&&j<=n-layer)matrix[i][j++]=v[k++]; --j;++i; while(k<num&&i<=m-layer)matrix[i++][j]=v[k++]; --i;--j; while(k<num&&j>=1+layer)matrix[i][j--]=v[k++]; ++j;--i; while(k<num&&i>=2+layer)matrix[i--][j]=v[k++]; ++i;++j; ++layer; } for(int i=1;i<=m;++i) { for(int j=1;j<=n;++j) { if(j!=n)cout<<matrix[i][j]<<" "; else cout<<matrix[i][j]<<endl; } } return 0;}
阅读全文
0 0
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix(25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- 1105. Spiral Matrix (25)
- C#常用的集合类型(ArrayList类、Stack类、Queue类、Hashtable类、SortedList类)
- leetcode--Longest Valid Parentheses
- 线段树入门学习小结
- 类的加载时间
- D
- 1105. Spiral Matrix (25)
- 权限修饰符
- 读取stm32 产品的唯一身份的寄存器
- API生命周期第二阶段——设计:采用swagger进行API描述、设计
- 单调队列
- mysql判断指定数据库是否存在?
- 对Hibernate中关系维护方和级联的理解
- 网络编程释疑之:同步,异步,阻塞,非阻塞
- linux的lsof命令详解