码迷,mamicode.com
首页 > 其他好文 > 详细

蛇形填数

时间:2014-08-04 10:39:46      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:blog   os   io   for   div   amp   size   log   

好吧,我承认题目不难,只是我遗忘的太多了;正在一点点的找回来。这个版本的蛇形填数是从(0,0)开始横着填的,

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int N=12;
int main()
{int oi[N][N];
    int n;
    while(cin>>n)
    {if(n>N) break;
        memset(oi,0,sizeof(oi));
   int  count=1;
    int i=0,j=0;
while(count<n*n){
    while(j<n-1&&!oi[i][j+1]){oi[i][j++]=count++;}
    while(i<n-1&&!oi[i+1][j]){oi[i++][j]=count++;}
    while(j>=1&&!oi[i][j-1]){oi[i][j--]=count++;}
    while(i>=1&&!oi[i-1][j]){oi[i--][j]=count++;}
  }oi[i][j]=count;
for(i=0;i<n;i++)
        {for(j=0;j<n;j++)
   printf("%3d\t",oi[i][j]);
    cout<<endl;}
    }
}

  这个是从(0,n-1)开始的

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int N=12;
int main()
{int oi[N][N];
    int n;
    while(cin>>n)
    {if(n>N) break;
        memset(oi,0,sizeof(oi));
   int  count=1;
    int i=0,j=n-1;
while(count<n*n){
    while(i<n-1&&!oi[i+1][j]){oi[i++][j]=count++;}
        while(j>=1&&!oi[i][j-1]){oi[i][j--]=count++;}
    while(i>=1&&!oi[i-1][j]){oi[i--][j]=count++;}

    while(j<n-1&&!oi[i][j+1]){oi[i][j++]=count++;}
}oi[i][j]=count;
for(i=0;i<n;i++)
        {for(j=0;j<n;j++)
   printf("%3d\t",oi[i][j]);
    cout<<endl;}
    }
}

  

蛇形填数,布布扣,bubuko.com

蛇形填数

标签:blog   os   io   for   div   amp   size   log   

原文地址:http://www.cnblogs.com/7acmer/p/3889445.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!