关注
第二题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;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
06-04 21:29
北京邮电大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 写给毕业5年后的自己 #
10774次浏览 205人参与
# 产品实习,你更倾向大公司or小公司 #
150528次浏览 1931人参与
# 一人一个landing小技巧 #
74451次浏览 1077人参与
# 得物求职进展汇总 #
96359次浏览 805人参与
# 职场捅娄子大赛 #
352824次浏览 3581人参与
# 硬件兄弟们 甩出你的华为奖状 #
103828次浏览 689人参与
# 现在还是0offer,延毕还是备考 #
1030695次浏览 7549人参与
# 产品每日一题 #
43314次浏览 561人参与
# 如何看待offer收割机的行为 #
777409次浏览 6020人参与
# 大城市找工作会更容易吗 #
38092次浏览 333人参与
# 工作中,努力重要还是选择重要? #
122952次浏览 1537人参与
# 来聊聊你目前的求职进展 #
627278次浏览 6725人参与
# 投格力的你,拿到offer了吗? #
82188次浏览 571人参与
# 实习吐槽大会 #
47999次浏览 220人参与
# 互联网回暖,腾讯要招5000人! #
17102次浏览 557人参与
# 我的租房踩坑经历 #
41079次浏览 387人参与
# 26届秋招投递记录 #
6113次浏览 157人参与
# 提前批过来人的忠告 #
103311次浏览 1126人参与
# 为什么国企只招应届生 #
172684次浏览 1140人参与
# 硬件人秋招的第一个offer #
72215次浏览 1110人参与