首页 > 分享 > luogu1149 火柴棒等式(NOIP2008提高组第2题)

luogu1149 火柴棒等式(NOIP2008提高组第2题)

最新推荐文章于 2024-09-17 10:40:24 发布

WDAJSNHC 于 2018-02-26 15:15:29 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

luogu1149  火柴棒等式(NOIP2008提高组第2题)

时空限制    1000ms/128MB

题目描述

给你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共一行,表示能拼成的不同等式的数目。

输入输出样例

输入样例#1:

14

输出样例#1:

2

输入样例#2:

18

输出样例#2:

9

说明

【输入输出样例1解释】

2个等式为0+1=1和1+0=1。

【输入输出样例2解释】

9个等式为:

0+4=4
0+11=11
1+10=11
2+2=4
2+7=9
4+0=4
7+2=9
10+1=11
11+0=11

代码

#include<iostream>

using namespace std;

int f[3005]={6,2,5,5,4,5,6,3,7,6};

int main(){

int n,ans=0;

cin>>n;

for (int i=10; i<=3000; i++)

f[i] = f[i/10]+f[i%10];

for (int a=0; a<1200; a++)

for (int b=0; b<1200; b++)

if (f[a]+f[b]+f[a+b]+4==n) ans++;

cout<<ans<<endl;

return 0;

}

相关知识

若不等式组5(x
观察下列等式: 1
设偶函数f(x)在(0,+∞)上为减函数,且f(2)=0,则不等式f(x)+f(
标函数F(x)=x 1 2 +x 2 2
求1 + 2^a + 2^(2a+1) = b^2的整数解
下列选项中,不满足“资产=负债+所有者权益”等式的是( )。
5.3.2 命题、定理、证明(第1课时) 助学稿
脑筋急转弯
随着人类生活质量的提高,生活用水越来越多,水污染也日益严重,水资源愈来愈成为世界关注的问题,许多国家都积极响应节约水资源的号召.为此我们的国家也提出了比较科学的
绝对值方程的解法(帮我解下4道题)|x

网址: luogu1149 火柴棒等式(NOIP2008提高组第2题) https://m.huajiangbk.com/newsview760057.html

所属分类:花卉
上一篇: 花礼类产品宣传文案28句
下一篇: 情人节老外爱送的十大浪漫礼物