洛谷P1149 火柴棒等式

https://www.luogu.org/problem/P1149

 

第一眼看起來比較Trick

分析一下其實是道水題

解題思路:

首先設一個數組儲存每個數字所需要的火柴棒的數目。然後只要i、j、i+j再加上'+'和'='(共4) == N 即可。

AC代碼:

#include <iostream>
using namespace std;
int num[10] = {6,2,5,5,4,5,6,3,7,6};
int cpu(int nu) {
    if(nu == 0) return 6;
    else {
        int ans = 0;
        while (nu) {
            ans += num[nu % 10];
            nu /= 10;
        }
        return ans;
    }
}
int main() {
    int n;
    int sum = 0;
    cin >> n;
    for(int i = 0; i <= 1000;i++)
        for(int j = 0; j<= 1000; j++)
            if(cpu(i) + cpu(j) + cpu(i + j) + 4 == n)
                sum++;

    cout << sum << endl;

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章