题意:
有1~9数字各有a1, a2, …, a9个, 有无穷多的+和=.
问只用这些数字, 最多能组成多少个不同的等式x+y=z, 其中x,y,z∈[1,9].
等式中只要有一个数字不一样 就是不一样的

思路:
计算下可以发现, 等式最多只有36个.
然后每个数字i的上界是17-i个 可以预先判掉答案一定是36的, 然后直接暴力搜索每个等式要不要就好了.
注意剪枝即可

 const int maxn = ;
int a[maxn];
bool flag36;
int ans;
struct Equation
{
int x, y, z;
} type[];
void init()
{
flag36 = true;
ans = ;
for (int i = ; i < ; i++)
{
scanf("%d", a + i);
if (a[i] < - i)
{
flag36 = false;
}
}
} bool can(int t)
{
bool flag1 = false, flag2 = false, flag3 = false;
bool ret = true;
if (a[type[t].x] > )
{
a[type[t].x]--;
flag1 = true;
}
else ret = false; if (ret && a[type[t].y] > )
{
a[type[t].y]--;
flag2 = true;
}
else ret = false; if (ret && a[type[t].z] > )
{
a[type[t].z]--;
flag3 = true;
}
else ret = false; a[type[t].x] += flag1;
a[type[t].y] += flag2;
a[type[t].z] += flag3; return ret;
} void dfs(int t, int cnt) // 判断第t中,已经凑出了cnt个
{
if ( - t + cnt <= ans || t == ) return;
if (can(t))
{
a[type[t].x]--;
a[type[t].y]--;
a[type[t].z]--;
ans = max(ans, cnt + );
dfs(t + , cnt + );
a[type[t].x]++;
a[type[t].y]++;
a[type[t].z]++;
}
dfs(t + , cnt);
} void solve()
{
if (flag36)
{
printf("36\n");
return;
}
dfs(, );
printf("%d\n", ans);
} int main()
{
int idx = ;
for (int i = ; i < ; i++)
{
for (int j = ; i + j < ; j++)
{
type[idx++] = (Equation){i, j, i + j};
}
} int T, kase = ;
scanf("%d", &T);
while (T--)
{
printf("Case #%d: ", ++kase);
init();
solve();
}
return ;
}

HDU 5937 Equation的更多相关文章

  1. HDU 5937 Equation 【DFS+剪枝】 (2016年中国大学生程序设计竞赛(杭州))

    Equation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  2. HDU 5937 Equation(DFS+剪枝)

    题目链接 Equation 给定1-9这9个数字各自的卡片数,求能构成形如$i + j = k$的等式个数 等式中$i,j,k$必须都为个位数 若两个等式中$i,j,k$不完全相等,则这两个等式为不同 ...

  3. hdu 5937 -- Equation(搜索)

    题目链接 problem description Little Ruins is a studious boy, recently he learned addition operation! He ...

  4. HDU 6627 equation (分类讨论)

    2019 杭电多校 5 1004 题目链接:HDU 6627 比赛链接:2019 Multi-University Training Contest 5 Problem Description You ...

  5. hdu 5185 Equation(分析+DP)

    题意: Gorwin is very interested in equations. Nowadays she gets an equation like thisx1+x2+x3+⋯+xn=n, ...

  6. HDU 5185 Equation (DP)

    题目:LINK 题意:求满足题目要求的x序列的种类数. 能够发现符合条件的序列去重后是一个0, 1, ..., k的连续序列(k满足k*(k+1)/2 <= n) ,则这个去重后的序列长度最长为 ...

  7. HDU 2675 Equation Again

    公式转化+二分答案 首先,把题目中给的等式转化一下,变成了这个样子. 等式右边的值是可以求出来的. ln(x)/x的大致图像是这样的 那么只要对[0,e]和[e,+∞]分别进行二分答案即可. #inc ...

  8. hdu 4025 Equation of XOR 状态压缩

    思路: 设: 方程为 1*x1 ^ 1*x2 ^ 0*x3 = 0; 0*x1 ^ 1*x2 ^ 1*x3 = 0; 1*x1 ^ 0*x2 ^ 0*x3 = 0 把每一列压缩成一个64位整数,因为x ...

  9. hdu 2199 Can you solve this equation?(高精度二分)

    http://acm.hdu.edu.cn/howproblem.php?pid=2199 Can you solve this equation? Time Limit: 2000/1000 MS ...

随机推荐

  1. 【转】RadControls for Silverlight(学习2-RadDataPager)

    引用地址:http://www.cnblogs.com/forrestsun/archive/2011/05/15/2046894.html <Grid x:Name="LayoutR ...

  2. centos7安装nginx

    一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩. 一:安装 pcre 1.下载地址:百度云盘 http://pan.baidu.com/s/1dFusO3v ...

  3. ueditor 图片上传功能(.net)

    假如下载的net文件 所在工程引用bin文件中的Newtonsoft.Json.dll 在浏览器中运行 `net/controller.ashx`,如果返回 "`{"state&q ...

  4. app接口测试-bug分类

    前段时间在测试一个项目,任务是测试app的API.总结下遇到的问题类型: 1 通过app提交数据,隐形数据有误.(主要通过验证数据库) 比如用户通过app输入工单提交.接口数据中,用户输入的信息都正确 ...

  5. matlab初学之plot颜色和线型

    文章出处: http://jiangshuxia.9.blog.163.com/blog/static/3487586020116711375339/ 字母        颜色          标点 ...

  6. 关于Spring注解

    * @author 小郑 1        * @content ejb3注解的API定义在javax.persistence.*包里面. 2        * 注释说明: 3        * @E ...

  7. 今天遇到的点击添加按钮button_click代码段无法执行的问题

    首先:本人小白一枚,刚入行,如有表述不当的地方,还请多多指教 网页界面如图: 当点击添加按钮后断点测试进入后台代码运行: 代码会先执行Page_Load页面,当加载完后Page_Load代码会跳转到m ...

  8. [Python]logging模块使用basicConfig后记录日志重复问题

    logging.basicConfig配置日志记录到文件A后,再使用logging.FileHandler生成记录到文件B的logger 在使用此logger记录日志时,会同时记录的文件A和文件B,感 ...

  9. 0427 scrum & 读后感

    5.Scrum团队成立 5.1 团队名称,团队目标.团队口号.团队照: 5.2 角色分配 6. 团队项目选题 详情见团队博客:http://www.cnblogs.com/alfredzhu/ htt ...

  10. javac找不到或无法加载主类 com.sun.tools.javac.Main

    在安装jdk后或者以前安装了jdk某时使用javac编译java文件时出现找不到或无法加载主类com.sun.tools.javac.Main,这个问题时,网上一般都说是环境变量配置不对,这样的说法其 ...