NOIP2015 提高组 day1 神奇的幻方
2015-11-16 22:37
369 查看
直接贴代码
#include<cstdio> #define MAXN 39 using namespace std; int n,num; int mat[MAXN+5][MAXN+5]; void solve(int x,int y) { if(num==n*n) return; if(x==1&&y!=n) { mat [y+1]=++num; solve(n,y+1); } else if(x!=1&&y==n) { mat[x-1][1]=++num; solve(x-1,1); } else if(x==1&&y==n) { mat[x+1][y]=++num; solve(x+1,y); } else { if(mat[x-1][y+1]==0) { mat[x-1][y+1]=++num; solve(x-1,y+1); } else { mat[x+1][y]=++num; solve(x+1,y); } } } int main() { freopen("magic.in","r",stdin); freopen("magic.out","w",stdout); int i,j; scanf("%d",&n); mat[1][(n+1)/2]=++num; solve(1,(n+1)/2); for(i=1;i<=n;i++) for(j=1;j<=n;j++) printf("%d%c",mat[i][j],j==n?'\n':' '); }
相关文章推荐
- 【程序员技术练级】学习一门脚本语言 python(三)跟数据库打交道
- 黑马视频-存储过程
- php 基础知识
- android基础--AsyncTask
- 探讨Android中Activity的生命周期和加载模式
- 数据结构--栈(java)
- electron(1)安装和使用
- MySQL数据输到redis
- Android裁剪图片为圆形
- Unity3D将来时:IL2CPP——C#的变迁
- XML基础知识
- web入门第一天
- 1058 A+B in Hogwarts
- POJ 1363(栈)
- 同样带来的是四道java笔试题
- 配置Java开发环境
- 南大软院大神养成计划(第一天;认识 DW)
- AVL树笔记(一):zig-zag,insert,find,predecessor,successor
- MySQL添加用户、删除用户与授权
- 程序员都会的 35 个 jQuery 小技巧