zoukankan      html  css  js  c++  java
  • 紫书 习题 10-2 UVa 808(建立坐标+找规律)

    这次是我遇见过最迷的一次

    我写的程序uDebug全过

    和ac程序对拍也过,求出来的坐标是一模一样的,最后结果输出的方式也是一样的

    交上去就是错的

    第一次遇到这种情况

    大佬在哪里

    #include<cstdio>
    #include<cmath>
    #define REP(i, a, b) for(int i = (a); i < (b); i++)
    using namespace std;
    
    const int MAXN = 21234;
    int x[MAXN], y[MAXN];
    int dir[6][2] = {-1, -1, -1, 1, 0, 2, 1, 1, 1, -1, 0, -2};
    
    void init()
    {
    	x[1] = y[1] = 0;
    	int i = 1, d = 0;
    	while(d < 60)
    	{
    		d++;
    		x[++i] = x[i-1];
    		y[i] = y[i-1] - 2;
    		REP(j, 0, 6)
    			REP(k, 0, d)
    			{
    				if(j == 0 && k == d - 1) break;
    				x[++i] = x[i-1] + dir[j][0];
    				y[i] = y[i-1] + dir[j][1];
    			}
    	}
    }
    
    int main()
    {
    	init();
    	int a, b;
    	while(~scanf("%d%d", &a, &b) && a)
    	{
    		int ans;
    		int xx = abs(x[a] - x[b]), yy = abs(y[a] - y[b]);
    		if(xx >= yy) ans = xx;
    		else ans = (xx + yy) / 2;
    		printf("The distance between cells %d and %d is %d.
    ", a, b, ans);
    	}
    	return 0;
    }
  • 相关阅读:
    [Luogu1126] 机器人搬重物
    [POJ1830] 开关问题
    [bzoj3139] 比赛
    [POJ3349] Snowflake Snow Snowflakes
    The Tour
    [POJ3740] Easy Finding
    [vijos1453] 曼哈顿距离
    [POJ1632] Vase collection
    Codewars笔记
    Appium知识积累
  • 原文地址:https://www.cnblogs.com/sugewud/p/9819488.html
Copyright © 2011-2022 走看看