文章

26

粉丝

0

获赞

139

访问

4.5k

头像
旋转方阵 题解:贪吃蛇解法,当到数组尽头或遇到已经填入的位置,换方向

换方向需要找一下规律,逆时针,i和j的改变方式是有规律的

输出也很关键,用printf("%-4d",buf[x][y]);左对齐

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int buf[25][25];
    memset(buf,0,sizeof(buf));
    int i=0,j=0;//矩阵从buf[1][1]开始存储
    int nexti=1,nextj=1;
    int dict[4]= {0,1,0,-1};
    int k=0;
    int cnt=1;
    while(cnt<=n*n)
    {
        if(nexti<=n && nexti>=1 && nextj>=1 && nextj<=n && buf[nexti][nextj]==0)
        {
            i=nexti;
            j=nextj;
            //cout<<"i:"<<i<<" j:"<<j<<" k:"<<k<<endl;
            buf[i][j]=cnt;
&n...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发