题解:P15086 [UOI 2025 II Stage] A+B=C

· · 题解

P15086 题解

思路

可以先记录 0 \sim 9 需要用的火柴数:

题目中说了只能动 ab,所以我们可以枚举 0 \sim 9 中所有满足 i+j=ci 用的火柴数加 j 用的火柴数等于 a 用的火柴数加 b 用的火柴数,如果有满足条件的 ij 就输出 Yes,没有输出 No

代码

#include<bits/stdc++.h>
using namespace std;
#define int long long
int a,b,c,cnt[10]={6,2,5,5,4,5,6,3,7,6};//记录 
signed main(){
    cin>>a>>b>>c;
    for(int i=0;i<=9;i++)//枚举 
        for(int j=0;j<=9;j++)
            if(i+j==c&&cnt[i]+cnt[j]==cnt[a]+cnt[b]){cout<<"Yes";return 0;}//满足条件 
    cout<<"No";
    return 0;
}