【題解】ZeroJudge e534: 01587 – Box

【題目敘述】https://zerojudge.tw/ShowProblem?problemid=e534
【解題想法】

  • 六個矩形木頭可以製成一個木盒的條件:
    • 邊長不超過三種不同的數字。
    • 每一種邊長出現的次數比為 4 的倍數。
#include <iostream>
#include <map>
using namespace std;

int main() {
    int w, h;
    while (cin >> w >> h){
        map <int, int> mp;
        mp[w]++;
        mp[h]++;
        for (int i = 0; i < 5; i++){
            cin >> w >> h;
            mp[w]++;
            mp[h]++;
        }
        if (mp.size() > 3) cout << "IMPOSSIBLE\n";
        else {
            bool flag = true;
            for (auto i: mp){
                if (i.second % 4 != 0){
                    flag = false;
                    break;
                }
            }
            if (flag) cout << "POSSIBLE\n";
            else cout << "IMPOSSIBLE\n";
        }
    }
    return 0;
}
分享本文 Share with friends