P1149 [NOIP2008 提高组] 火柴棒等式

题目描述

给你 �n 根火柴棍,你可以拼出多少个形如 �+�=�A+B=C 的等式?等式中的 �A、�B、�C 是用火柴棍拼出的整数(若该数非零,则最高位不能是 00)。用火柴棍拼数字 0∼90∼9 的拼法如图所示:

注意:

  1. 加号与等号各自需要两根火柴棍;
  2. 如果 �≠�A=B,则 �+�=�A+B=C 与 �+�=�B+A=C 视为不同的等式(�,�,�≥0A,B,C≥0);
  3. �n 根火柴棍必须全部用上。

输入格式

一个整数 �(1≤�≤24)n(1≤n≤24)。

输出格式

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

输入输出样例

输入 #1复制

14

输出 #1复制

2

输入 #2复制

18

输出 #2复制

9

说明/提示

【输入输出样例 1 解释】

22 个等式为 0+1=10+1=1 和 1+0=11+0=1。

【输入输出样例 2 解释】

99 个等式为

0+4=40+4=4、0+11=110+11=11、1+10=111+10=11、2+2=42+2=4、2+7=92+7=9、4+0=44+0=4、7+2=97+2=9、10+1=1110+1=11、11+0=1111+0=11。

noip2008 提高第二题

题解

因为这题给的火柴的数量其实不多,我们可以尝试去枚举每一种情况。

最多24根火柴,其中4根用来构建等于和加号,20根火柴能构成的最大树我们先猜1000,如果不够再往大了猜,以免超时(这个最大应该是711),然后我们把3个位置的情况用dfs全部搜出来,1,2位置为0,0,的一条路走到黑,有符合的就数量加1。

#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<vector>
#include<math.h>
#include<iomanip>
#include<set>
#include<queue>
#include<stack> 
#include<map>
#include<list>
#include <stdlib.h>
#include<deque>
using namespace std;
int n, a[10000], b[10] = {6,2,5,5,4,5,6,3,7,6},ans,ch;
int fun(int x)//计算每个数要多少火柴摆出来
{int n=0;if (x == 0){return 6;}while (x > 0){n = n + b[x % 10];x = x / 10;}return n;
}
void dfs(int x)
{if (x > 3){if (a[1] + a[2] == a[3]){if (fun(a[1]) + fun(a[2]) + fun(a[3]) == n){if (a[1] == a[2]){ch++;}ans = ans + 1;}}return;}for (int i = 0; i < 712; i++){a[x] = i;dfs(x + 1);a[x] = a[x] - i;//还原上一步}
}
int main()
{cin >> n;n = n - 4;dfs(1);cout << ans-ch/2;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/541282.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

穿越半个世纪,探索中国数据库的前世今生

引言 在数字化潮流席卷全球的今天&#xff0c;数据库作为 IT 技术领域的“活化石”&#xff0c;已成为数字经济时代不可或缺的基础设施。那么&#xff0c;中国的数据库技术发展经历了怎样的历程&#xff1f;我们是如何在信息技术的洪流中逐步建立起自己的数据管理帝国的呢&…

css入门基础(二)链接伪类细节详讲

注释很详细&#xff0c;直接上代码 新增内容&#xff1a; 1.链接伪类的使用顺序规范 2.链接伪类的使用效果 3.浏览器安全策略对visited伪类造成的影响 4.visited伪类的工作原理 源码&#xff1a; index.html <!DOCTYPE html> <html lang"en"> <head&…

MySQL--执行一条 select 语句,期间发生了什么?

执行一条 SQL 查询语句&#xff0c;期间发生了什么&#xff1f; 连接器&#xff1a;建立连接&#xff0c;管理连接、校验用户身份&#xff1b;查询缓存&#xff1a;查询语句如果命中查询缓存则直接返回&#xff0c;否则继续往下执行。MySQL 8.0 已删除该模块&#xff1b;解析 …

Unity中的网格创建和曲线变形

Unity中的网格创建和曲线变形 3D贝塞尔曲线变形贝塞尔曲线基础线性公式二次方公式三次方公式 Unity 实现3D贝塞尔曲线变形准备工作脚本概述变量定义 变量解析函数解析 获取所有子节点GetAllChildren 获取所有子节点UpdateBezierBend 控制点更新CalculateBezier Bezier 曲线公式…

网络建设与运维培训介绍和能力介绍

1.开过的发票 3.培训获奖的证书 4合同签署 5.实训设备

程序员的知识宝库,100+开源书籍、文档

公众号&#xff1a;【可乐前端】&#xff0c;每天3分钟学习一个优秀的开源项目&#xff0c;分享web面试与实战知识&#xff0c;也有全栈交流学习摸鱼群&#xff0c;期待您的关注! 每天3分钟开源 hi&#xff0c;这里是每天3分钟开源&#xff0c;很高兴又跟大家见面了&#xff0…

wps珠海市政府版本

功能 无广告&#xff0c;安装直接使用&#xff0c;word,excel,ppt功能齐全 步骤 双击exe文件&#xff0c;更改安装步骤即可&#xff0c;任意选择一个部门就可以了 获取资源 链接&#xff1a;https://pan.baidu.com/s/1IVfNVgLwsp5QBT2uX-yROQ?pwdme6f 提取码&#xff1a;me…

spring框架芝士回顾01(随心记录)

1.框架—半成品软件&#xff0c;方便使用 2.spring两大核心模块&#xff1a;IOC和AOP IOC&#xff1a;控制反转&#xff0c;值把创建的对象过程交给spring管理AOP&#xff1a;面向切面编程&#xff0c;AOP用来封装多个类的公共行为&#xff0c;将那些于业务无关&#xff0c;但…

Qt 图形视图 /基于Qt示例DiagramScene解读图形视图框架

文章目录 概述从帮助文档看示例程序了解程序背景/功能理清程序概要设计 分析图形视图的协同运作机制如何嵌入到普通Widget程序中&#xff1f;形状Item和文本Item的插入和删除&#xff1f;连接线Item与形状Item的如何关联&#xff1f;如何绘制ShapeItem间的箭头线&#xff1f; 下…

PS学习-抠图-蒙版-冰块酒杯等透明物体

选中图&#xff0c;ctrlA 全选 ctrlC复制 创建一个蒙版图层 选中蒙版Alt 点击进入 ctrlv 复制 ctrli 反转 原图层 ctrldelete填充为白色 添加一个背景&#xff0c;这个方法通用 首选创建一个 拖到最底部 给它填充颜色 这个可能是我图片的原因。视频是这样做的

DBA会被云淘汰吗?会被AI淘汰吗?

前言 今天晚上终于挤出点时间听了听OSC的现场直播&#xff0c;视频太卡&#xff0c;还好能听到各位大牛的声音。讨论的是DBA这个职业或者工种会不会被“云”的大环境淘汰。 既然将这种话题列到直播现场&#xff0c;除了吸引大家的关注以外&#xff0c;本身也意味着不少相关技术…

通过插件集成、kkFileView部署站点 或 OfficeWebViewer站点在线展示Office文档内容 实现文档在线预览

一、用插件件实现文件在线预览 以下第二、第三的方案是借助独立站点来实现在线文档预览&#xff0c;当然也有不利用另外站点辅助&#xff0c;直接在需要的站点中利用引入组件完成文档预览的方案&#xff0c;比如&#xff1a;https://blog.csdn.net/qq_45444035/article/detail…