关注
第二题C++
#include<iostream>
(5488)#include<vector>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int>fib(n*n, 0);
fib[0] = 1;
fib[1] = 1;
for (int i = 2; i < n*n; i++)
{
fib[i] = fib[i - 1] + fib[i - 2];
}
int res = fib.size() - 1;
int left = 0, right = n - 1, top = 0, bottom = n - 1; //top、bottom横坐标 ; left、right纵坐标
vector<vector<int>>vec(n,vector<int>(n,0));
while (1)
{
for (int i = left; i <= right; ++i)
{
vec[top][i] = fib[res];
--res;
}
if (++top > bottom)
break;
for (int j = top; j <= bottom; ++j)
{
vec[j][right] = fib[res];
--res;
}
if (--right < left)
break;
for (int m = right; m >= left; --m)
{
vec[bottom][m] = fib[res];
--res;
}
if (--bottom < top)
break;
for (int n = bottom; n >= top; --n)
{
vec[n][left] = fib[res];
res--;
}
if (++left > right)
break;
}
for (auto n : vec)
{
vector<int>temp = n;
for (auto m : temp)
cout << m << " ";
cout << endl;
}
return 0;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 聊聊这家公司值得去吗 #
234045次浏览 2187人参与
# kpi面有什么特征 #
32204次浏览 224人参与
# 你认为哪个岗位找工作最卷 #
12946次浏览 42人参与
# 职场人,说说你的烦心事 #
8588次浏览 71人参与
# 一人一个landing小技巧 #
79232次浏览 1125人参与
# 职场上哪些事情令人讨厌 #
16671次浏览 82人参与
# 秋招最大的收获是什么? #
33875次浏览 297人参与
# 小红书求职进展汇总 #
56112次浏览 485人参与
# 聊聊你的职场新体验 #
157473次浏览 1369人参与
# 机械制造岗投递时间线 #
22722次浏览 346人参与
# 职场吐槽大会 #
205435次浏览 1636人参与
# 研究所VS国企,该如何选 #
180619次浏览 1769人参与
# 为了找工作你投递了多少公司? #
9842次浏览 133人参与
# 大家每天通勤多久? #
42006次浏览 329人参与
# 通信硬件牛牛的实习日记 #
7167次浏览 65人参与
# 职场破防瞬间 #
234931次浏览 2125人参与
# 总结:哪家公司面试体验感最好 #
47637次浏览 338人参与
# tplink提前批进度交流 #
162741次浏览 1378人参与
# 找工作前vs找工作后的心路变化 #
9592次浏览 103人参与
# 担心入职之后被发现很菜怎么办 #
126379次浏览 754人参与