首页 > TAG信息列表 > 食算

【搜索】AcWing 184. 虫食算

写完发现代码比别人的都长(悲 但是效率不错,在洛谷可以排在最优解第四页 分析 大致思路比较简单: 枚举位(使用 \(dfs\)),从低位开始枚举变量的值,如果没填过就选取 \([0, n-1]\) 中没选取过的值填上。 当前位三个变量都得到值后,检查是否合法。 当全部位都合法输出结果即可。 接下来考虑

【例题3】虫食算

【例题3】虫食算 ​ 题面 ​ 题目描述 所谓虫食算,就是原先的算是中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定啃掉的字母。来看一个简单的例子: 43#9865#045 +8468#6633 44445509678 其中 # 号表示被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是

【DFS】Ybt_虫食算

题目大意 可恶的虫子把一些数字吃掉了! 你只能知道数位数和进制数为n的三个数 A,B,C。 其中 C=A+B,数字都由大写字母表示,相同字母表示这个位置上是相同的数字。 要你求每个字母所代表的数字。 输入 5 ABCED BDACE EBBAA 输出 1 0 3 4 2 解 深度搜索。枚举这些字母代表的数字。

P1092 虫食算 题解 DFS 深度优先搜索

这道题一开始自己写的时候,只有30分= = 然后参(模)考(仿)了洛谷第一个题解才写出来了(不过是在理解了的前提下,自己敲了一遍),下面附上参考的题解博客地址 参考的题解博客 我的代码: #include<bits/stdc++.h> using namespace std; int n, cnt; char s1[50], s2[50], s3[50]; int a[50

【Luogu1092】虫食算

Source and JudgeNOIP2004 提高组 T4Luogu1092Caioj1519 Problem【Brief description】所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的栗子:123 43#9865#045+ 8468#6633=44445509678其中#号代表被虫子啃掉的数字。根据

【搜索】$P1092$虫食算

【搜索】\(P1092\)虫食算 题目链接 首先,我们只考虑加法的虫食算。这里的加法是N进制加法,算式中三个数都有N位,允许有前导的0。 其次,虫子把所有的数都啃光了,我们只知道哪些数字是相同的,我们将相同的数字用相同的字母表示,不同的数字用不同的字母表示。如果这个算式是N进制的,我们就取英

洛谷P1092 虫食算(算竞进阶习题)

模拟+dfs 这个题就三行,搜索的话我们从右向左,从上到下。。 如果是在1,2行我们就直接枚举0~n所有数,但是到了第三行,最直接的就是填上这一列上前两行的数的和modN,在此基础上判断该填的数有没有被使用 如果没有被使用,且这个地方没有被赋值,就可以把要填的数填上去,如果被填了切符合要求,就不

P1092 虫食算 题解(搜索)

题目链接 P1092 虫食算 解题思路 好题啊!这个搜索好难写...... 大概是要考虑进位和考虑使用过某个数字这两个东西,但就很容易出错...... 首先这个从后往前搜比较好想,按照从后往前出现的顺序搜,在这个剪枝条件下速度会快很多。 比如样例, 5 ABCED BDACE EBBAA 从右往左出现的次序是\(D