[NOIP 2015] Day.1 T1 神奇的幻方 [模拟]
2016-07-18 08:19
417 查看
#include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<cmath> using namespace std; int n; const int maxn = 50; int a[maxn][maxn]; int cnt = 0; void dfs(int hang,int lie) { if(cnt == n*n)return; if(hang==1) { if(lie!=n) { a [lie+1]=++cnt; dfs(n,lie+1); } else { a[2][lie]=++cnt; dfs(2,lie); } } else if(lie==n&&hang!=1) { a[hang-1][1]=++cnt; dfs(hang-1,1); } else if(hang!=1&&lie!=n) { if(!a[hang-1][lie+1]) { a[hang-1][lie+1]=++cnt; dfs(hang-1,lie+1); } else { a[hang+1][lie]=++cnt; dfs(hang+1,lie); } } } bool flag = 0; int main() { #define LOC #ifdef LOC freopen("magic.in","r",stdin); freopen("magic.ans","w",stdout); #endif scanf("%d",&n); a[1][(n+1)/2] = ++cnt; dfs(1,(n+1)/2); if(flag) { n++; } for(int i=1;i<=n;i++) { for(int j=1;j<n;j++)printf("%d ",a[i][j]); printf("%d",a[i] ); printf("\n"); } return 0; }
相关文章推荐
- NOIP复习计划
- TYVJ1193 括号序列解题报告
- 对DP的一点感想
- wikioi1004 四子连棋 解题报告
- TYVJ P1870 [NOIP1998P2]阶乘和
- HDU 1063 Exponentiation
- ~二分答案~
- 我自己的noip复习(实时更新)
- 最长回文子串(转载自网易博客:鼻子很帅的猪)
- 信息竞赛学习笔记:POJ3579中位数(二分)
- NOIP2009 最优贸易
- 一道hash题
- NOIP2007 树网的核
- 排列组合基本公式
- Gray码生成
- 堆
- Noip 2014 提高组复赛 解题报告
- NOIP 2009提高组,迟来的题解.
- NOIP2011 铺地毯
- NOIP 2011 选择客栈