1 条题解

题解与来源题共享。已有题解默认通过;新增或编辑后需由来源域管理员审核。待审核、驳回题解仅作者和审核管理员可见。来源域:system

  • 0
    @ 2025-7-27 5:02:06

    O(1)O(1)

    首先独立考虑横纵坐标,要走的距离分别为 ∣x−a∣\left|{x - a}\right| 和 ∣y−b∣\left|{y - b}\right| ,移动次数以长边(更大的一边)为主,那么最大的移动次数为 ⌈max(x,y)2⌉\lceil{\frac{max(x, y)}{2}}\rceil

    再考虑长边到达后,短边是否一定能到达?

    特殊情况:长边不为 00 ,短边为 00 时,至少要两次才能到达。因为如果长边需要移动,那么短边至少走动距离为1,需要再走回来,并且大于等于两次的移动次数一定能够走回来。 所以在长边为 11 短边为 00 时需要移动两次。

    #include<bits/stdc++.h>
    
    using namespace std;
    
    int main(){
    	int T; cin>>T;
    	while(T--){
    		int x,y,a,b;
    		cin>>x>>y>>a>>b;
    		int D=abs(x-a),Q=abs(y-b);
    		if(D>Q) swap(D,Q);
    	    int ans = (Q + 1) / 2;
    	    if(D == 0 && ans == 1) ans ++;
    	    cout << ans << endl;
    	}
    }
    
    • 1

    信息

    ID
    429
    时间
    1000ms
    内存
    256MiB
    难度
    普及
    标签
    递交数
    26
    已通过
    5
    上传者