神奇的幻方
来源:互联网 发布:tcl电视家网络电视 编辑:程序博客网 时间:2024/04/28 23:59
神奇的幻方
学长说要把博客当错题本,好吧,今天确实考试了,QAQ…
考的NOIP2015Day1的题,还比较简单,模拟就可以满分。对他们一定是拼手速的题吧。。。
自己写的代码片如下:
#include<iostream>#include<cstdio>using namespace std;int N,k;int a[100][100];int b[3000][3];int main(){ freopen("magic.in","r",stdin); freopen("magic.out","w",stdout); k=1; scanf("%d",&N); if(N==1) printf("1"); else{ a[1][N/2+1]=k; ++k; b[1][1]=1;b[1][2]=N/2+1; while(k<=N*N) { if(b[k-1][1]==1&&b[k-1][2]!=N) { a[N][b[k-1][2]+1]=k; b[k][1]=N; b[k][2]=b[k-1][2]+1; ++k; } else if(b[k-1][1]!=1&&b[k-1][2]==N) { a[b[k-1][1]-1][1]=k; b[k][1]=b[k-1][1]-1; b[k][2]=1; ++k; } else if(b[k-1][1]==1&&b[k-1][2]==N) { a[b[k-1][1]+1][b[k-1][2]]=k; b[k][1]=b[k-1][1]+1; b[k][2]=b[k-1][2]; ++k; } else if(b[k-1][1]!=1&&b[k-1][2]!=N) { if(a[b[k-1][1]-1][b[k-1][2]+1]==0) { a[b[k-1][1]-1][b[k-1][2]+1]=k; b[k][1]=b[k-1][1]-1; b[k][2]=b[k-1][2]+1; ++k; } else { a[b[k-1][1]+1][b[k-1][2]]=k; b[k][1]=b[k-1][1]+1; b[k][2]=b[k-1][2]; ++k; } } } for(int i=1;i<=N;++i) { for(int j=1;j<=N;++j) printf("%d ",a[i][j]); printf("\n"); } } fclose(stdin); fclose(stdout); return 0;}
0 0
- 神奇的幻方
- 神奇的幻方
- 神奇的幻方
- 神奇的幻方
- openjudge 神奇的幻方
- 【NOIP2015】神奇的幻方
- 【NOIP2015】神奇的幻方
- [noip2015tg] 神奇的幻方
- oj神奇的幻方
- 22:神奇的幻方
- 计蒜客-神奇的幻方
- noip2015神奇的幻方
- 22:神奇的幻方
- 洛谷 P2615 神奇的幻方
- 神奇的幻方 noip2015day1 T1
- [NOIP2015] 神奇的幻方 D1 T1
- 【NOIP2015】Day1T1 神奇的幻方
- noip2015day1 T1神奇的幻方
- HTML、CSS、JavaScript的关系
- while循环与for循环的区别
- 1031. Hello World for U
- Jenkins系列(二)----迈入Jenkins的第一步
- HashMap实现原理分析(面试问题:两个hashcode相同 的对象怎么存入hashmap的)
- 神奇的幻方
- 多维数组的概念(附杨辉三角)
- Android中的杂七杂八
- 冒泡排序和比较排序(系统排序)
- 移动端的自适应布局神器—Flex Box(2)
- 数组的两种定义方式,求数字的字符数
- POJ 3555 Cocktail 可能会
- 面向对象(1)
- 二叉树的线索化以及 线索化的先序,中序,后序遍历