(函数)P1149 火柴棒等式】的更多相关文章

题目 题目来源 P1149 火柴棒等式,https://www.luogu.org/problem/P1149 题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是00).用火柴棍拼数字0-90−9的拼法如图所示: 注意: 加号与等号各自需要两根火柴棍 如果A≠B,则A+B=C与B+A=C视为不同的等式(A,B,C>=0) n根火柴棍必须全部用上 输入格式 一个整数n(n<=24). 输出格式…
题解: #include<stdio.h>int a[10]={6,2,5,5,4,5,6,3,7,6};int num(int n){                          //计算所需火柴棒的个数 int sum=0;   sum+=a[n%10];                     //小心特殊情况——0 while(n>9){  n/=10;  sum+=a[n%10]; } return sum;}int main(){ int n,i,j,ret=0; sc…
题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注意: 加号与等号各自需要两根火柴棍 如果A≠B,则A+B=C与B+A=C视为不同的等式(A.B.C>=0) n根火柴棍必须全部用上 输入输出格式 输入格式: 输入文件matches.in共一行,又一个整数n(n<=24). 输出格式: 输出文件matches.out共一行,表示能拼成的不同等式的数目. 输入输出样例…
题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注意: 加号与等号各自需要两根火柴棍 如果A≠B,则A+B=C与B+A=C视为不同的等式(A.B.C>=0) n根火柴棍必须全部用上 输入输出格式 输入格式: 输入文件matches.in共一行,又一个整数n(n<=24). 输出格式: 输出文件matches.out共一行,表示能拼成的不同等式的数目. 输入输出样例…
题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注意: 加号与等号各自需要两根火柴棍 如果A≠B,则A+B=C与B+A=C视为不同的等式(A,B,C>=0) n根火柴棍必须全部用上 输入格式 一个整数n(n<=24). 输出格式 一个整数,能拼成的不同等式的数目. 输入输出样例 输入 #1 14 输出 #1 2 输入 #2 18 输出 #2 9…
题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注意: 1.加号与等号各自需要两根火柴棍 2.如果A≠B,则A+B=C与B+A=C视为不同的等式(A.B.C>=0) 3.n根火柴棍必须全部用上 输入输出格式 输入格式: 输入文件matches.in共一行,又一个整数n(n<=24). 输出格式: 输出文件matches.out共一行,表示能拼成的不同等式的数目. 输…
嗯....   这道题好讨厌啊!!!!   一开始莫名RE,然后发现数组小了,然后发现后面几个点总是WA,原来推的少了....   并且这道题的思路真的好水啊!!   先看一下题: 题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注意: 加号与等号各自需要两根火柴棍 如果A≠B,则A+B=C与B+A=C视为不同的等式(A,B,C>=0) n根火柴棍必须全部用上 输入输…
题目描述 给你 n 根火柴棍,你可以拼出多少个形如 “A+B=CA+B=C” 的等式?等式中的 A.B.C 是用火柴棍拼出的整数(若该数非零,则最高位不能是 0).用火柴棍拼数字 0−9 的拼法如图所示: 注意: 加号与等号各自需要两根火柴棍 如果 A≠B ,则 A+B=C 与 B+A=C 视为不同的等式(A,B,C>=0) n 根火柴棍必须全部用上 输入格式 一个整数 n(n<=24) . 输出格式 一个整数,能拼成的不同等式的数目. 输入输出样例 输入 14 输出 2 输入 18 输出 9…
https://www.luogu.org/problemnew/show/P1149 一开始还分类重复了.在非0的dfs中居然赋值了0,脑残得一笔. 其实就按 $lead0$ 分类就好了, $lead0$ 表示当前位有没有被赋值过,只有没被赋值过的赋值前导0才会立刻进入下一个数字. #include<bits/stdc++.h> using namespace std; #define ll long long ,,,,,,,,,}; ; set<pair<pair<ll,…
#include <bits/stdc++.h> using namespace std; const int num[] = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6}; int dp[2000]; int solve(int k) { if(dp[k]) return dp[k]; if(k < 10) return dp[k] = num[k]; else if(k<100){ int a = k/10; int b = k%10; return dp[k]…