题解:P13598 [NWRRC 2022] Absolutely Flat

· · 题解

又来水题解了。

题目大意是,给你4个数,分别代表4条桌子腿的长度,和一个长度为 b 的垫片,问你在某一条柱子腿下加上垫片后,是否能让四条桌子腿长度相同。

注意:

由于垫片只有一个,所以我们直接可以枚举如果往一条桌子腿下加垫片后,四条桌子腿的长度一样的话,就输出 1,不然就换一条腿尝试,如果都不行,就输出 0

代码

#include<iostream>
using namespace std;
int main() {
    int a[4],b;
    for(int i=0;i<4;i++) {
        cin>>a[i];
    }
    cin>>b;
    if(a[0]==a[1]&&a[1]==a[2]&&a[2]==a[3]){//如果长度都相同,直接输出1 
        cout<<1;
        return 0;
    }
    for(int i=0;i<4;i++) {
        int temp=a[i]+b; //试着对当前桌子腿加垫片 
        bool flag=true;
        for(int j=0;j<4;j++) {
            if(j!=i&&a[j]!=temp) {//判断四只腿长度是否相同 
                flag=false;
                break;
            }
        }
        if(flag){
            cout<<1;
            return 0;
        }
    }
    cout<<0;
    return 0;
}