P2615 神奇的幻方
#include#include#include#include#include#defineint main(){ int n, x, y, num, i, j; scanf("%d", &n); if (n == 1){ printf("1"); return 0; } x = 1; y = (n + 1)/2; int arr[MAX][MAX] = {0}; for ( num = 1; num <= n*n; num++){ arr[x][y] = num; if (! arr[(x - 2 + n)%n + 1][y%n + 1]) x = (x - 2 + n)%n + 1, y = y%n + 1; else x = x%n + 1; } for ( i = 1; i <= n; i++){ for ( j = 1; j <= n; j++) printf("%d ", arr[i][j]); printf("\n"); } return 0; }
**题目的意思就是从第一行中点开始,把每一个下面的数
放到“右上角”,若右上角有数,则放到正下方。**
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~