题解 CF1272A 【Three Friends】

· · 题解

感觉翻译没有说明白啊 明明可以不走的。

显然可以通俗易懂暴力做,因为每个人都有三种可能的情况,所以总复杂度为 O(q \times 3^3) 不会超时。

代码


#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll ans,a,b,c,q;//ans存储当前距离的最小值,a、b、c如题意,开long long防爆 
int main(){
    scanf("%d",&q);//读入数据组数
    while(q--){
        ans=3000000000;//先赋一个大的初值
        scanf("%d%d%d",&a,&b,&c);
            for(ll i=a-1;i<=a+1;i++)
                for(ll j=b-1;j<=b+1;j++)
                    for(ll k=c-1;k<=c+1;k++)
                        ans=min(ans,abs(i-j)+abs(i-k)+abs(j-k));//直接暴力枚举求最小值 
        printf("%d\n",ans);
    }
}