2239 螺旋数组
这个题的又名蛇形矩阵,是二维数组的经典例题
这个题就是模拟了
本题好像很水的样子
先搞出来一个蛇形数组,然后输出第xy个位置就好了
#include<iostream>
#include<string>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
int n;
int a[3000][30000];
int qi,zhong;
int ii=1;
int x,y;
int main()
{
qi=1;
cin>>n;
cin>>x>>y;
zhong=n;
while(qi<=zhong)
{
for(int w=qi;w<=zhong;w++)
{
a[qi][w]=ii;
ii++;
}
for(int ww=qi+1;ww<=zhong;ww++)
{
a[ww][zhong]=ii;
ii++;
}
if(qi!=zhong)
{
for(int we=zhong-1;we>=qi;we--)
{
a[zhong][we]=ii;
ii++;
}
}
if(qi!=zhong)
{
for(int wt=zhong-1;wt>qi;wt--)
{
a[wt][qi]=ii;
ii++;
}
}
qi++;
zhong--;
}
cout<<a[x][y]<<endl;
return 0;
}
这篇博客介绍了如何用C++实现2239螺旋数组,即蛇形矩阵。博主通过模拟矩阵填充过程,详细讲解了如何输出指定位置的数值,涉及到了循环和条件判断等编程基本技巧。
885

被折叠的 条评论
为什么被折叠?



