火柴棒等式

可恶啊我居然还是被水题打败了,什么时候我能完全把水题过了啊呜呜呜呜

## 题目描述

给你 n 根火柴棍,你可以拼出多少个形如 A+B=C 的等式?等式中的 A、B、C 是用火柴棍拼出的整数(若该数非零,则最高位不能是 0.

注意:

1. 加号与等号各自需要两根火柴棍;

2. 如果 A\neq B,则 A+B=C 与 B+A=C 视为不同的等式(A,B,C\geq0);

3. n 根火柴棍必须全部用上。

## 输入格式

一个整数 n(1-24)

## 输出格式

一个整数,能拼成的不同等式的数目。

## 样例 #1

### 样例输入 #1

```
14
```

### 样例输出 #1

```
2
```

## 样例 #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。

复制代码
1 #include<bits/stdc++.h> 2 using namespace std; 3 int p[1000010]={6},n,a[10]={6,2,5,5,4,5,6,3,7,6},res;//注意这里要把p数组全部变成0的模样; 4 int main() 5 { 6 cin>>n; 7 for(int i=1;i<=2000;i++) 8 { 9 int x=i; 10 while(x>=1) 11 { 12 p[x]+=a[x%10]; 13 x/=10; 14 } 15 } 16 for(int i=0;i<=1000;i++) 17 for(int j=0;j<=1000;j++) 18 if(p[i]+p[j]+p[i+j]==n-4) res++; 19 cout<<res; 20 return 0; 21 }
复制代码

 


__EOF__

本文作者Sakurajimamai
本文链接https://www.cnblogs.com/o-Sakurajimamai-o/p/17431597.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   o-Sakurajimamai-o  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
-- --
点击右上角即可分享
微信分享提示