hdu2183

来源:互联网 发布:淘宝女装top排行榜 编辑:程序博客网 时间:2024/06/15 23:11
/*
分析:
    无聊找规律水题。。。
    自己找了个规律,弄出来一个n*n方阵,满足“排成n*n,方阵
每行每列每条对角线上的n个数字之和s相等”,但WA了,因为这题
不是special judge,必须按照这个题的那种规律才行。。。
    把1排在中心值下放,然后向右下递进,当next已经填过后,
让next_x=now_x+2,然后继续。。。


                                                    2012-11-12
*/








#include"stdio.h"#include"string.h"int num[25][25];int main(){int n;int i,l;int count;int now,now_x,now_y;int next,next_x,next_y;while(scanf("%d",&n),n){count=n*n;memset(num,0,sizeof(num));next=1;next_x=n/2+2;next_y=n/2+1;while(count--){now=next;now_x=next_x;now_y=next_y;num[now_x][now_y]=now;next=now+1;next_x=now_x+1;while(next_x>n)next_x-=n;next_y=now_y+1;while(next_y>n)next_y-=n;if(num[next_x][next_y]){next_x=now_x+2;while(next_x>n)next_x-=n;next_y=now_y;}}for(i=1;i<=n;i++){for(l=1;l<=n;l++)printf("%4d",num[i][l]);printf("\n");}}return 0;}


原创粉丝点击