回 帖 发 新 帖 刷新版面

主题:国际奥林匹克编程难题!

其实就是一道小题目,我是新手,不会啦(*^__^*) ,各位大虾们,帮忙看看,困扰我很久啦。
输入N输出如下格式的矩阵。
N=3        N=5
9 7 6      25 23 22 16 15 
8 5 2      24 21 17 14  7
4 3 1      20 18 13  8  6
           19 12  9  5  2
           11 10  4  3  1

还有一种和这个很像
N=3           ……
1 3 4         ……
2 5 8         ……
6 7 9         ……
麻烦讲一下思路,谢谢!

回复列表 (共2个回复)

沙发

蛇阵不解释,上网搜下就行了

板凳

CLS
INPUT n
h = n
l = n
DIM s(h, l)
xx = -1
yy = 1
FOR i = 1 TO h * l
  x = x + xx
  y = y + yy
  IF x < 1 OR x > h OR y < 1 OR y > l THEN SWAP xx, yy
  IF x > h THEN
     x = h
     y = y + 2
  END IF
  IF y > l THEN
     y = l
     x = x + 2
  END IF
  IF x < 1 THEN x = 1
  IF y < 1 THEN y = 1
  s(x, y) = i
NEXT
FOR i = 1 TO h
  PRINT
  FOR j = 1 TO l
    PRINT USING "###"; s(l - i + 1, l - j + 1);
NEXT j, i

这是搜的+改编,我已经会自己打了:-D

我来回复

您尚未登录,请登录后再回复。点此登录或注册