我是傻得不能再傻了,把整个过程模拟出来了,还很高兴,提交之后发现空间超了,看了下别人的原来是找规律啊
坐标中表述的x,y 只有2种关系 :
要么x = y, 当X为偶数 则所求数是2*x, 若为奇数,则2*x -1。
要么x - y = 2. 当X为偶数 则所求数是2*x + 2, 若为奇数,则2*x +1。
唉,可怜我原来的代码
虽然没有过还是贴出来安慰下自己吧
#include#include int a[5005][5005];int main(){ a[0][0]=0; a[1][1]=1; a[2][0]=2; a[3][1]=3; int i=2,j=1; while(i<5003 && j<5003) { a[i][j+1]=a[i][j-1]+2; a[i+2][j+1]=a[i][j+1]+2; i++; j++; } int n; scanf("%d",&n); int x,y; while(n--) { scanf("%d%d",&x,&y); if(x==0 && y==0) printf("%d\n",a[x][y]); else if(a[x][y]==0) printf("No Number\n"); else printf("%d\n",a[x][y]); } return 0;}