小Y的难题

2024-06-04 02:08
文章标签 难题

本文主要是介绍小Y的难题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Font Size:Aa Aa Aa

Description

最近小Y迷上了数学,总是在思考各种数学问题。有一天,他不小心把墨水洒在草稿纸上。他现在能看到的是“2?3?1?4”(?表示看不清的地方)。小Y的记忆力不错,他知道:
1、每个?只会是“+”、“-”,“=”三个符号之一。
2、总共有且仅有一个“=”。
3、原式一定是一个等式。如“2+3-1=4”
现在他突然想知道,有多少种可能性,满足上面3个要求。

Input

多组输入。
每组第一行有一个数字n。表示小Y从左到右,一共可以看到n个数字。(2<=n<=15)
每组第二行有n个数字。分别表示这n个数字是什么。保证每个数字都是非负整数,且小于10^7。

Output

对于每组,输出一行,这一行只有一个数字,表示有多少种可能性满足题意。

Sample Input

4
2 3 1 4
4
1 1 1 1

Sample Output

2
6

Hint

数字之间一定有且仅有一个符号,第一个数字前没有符号。
 
代码如下:
 

#include<stdio.h>

int a,b,c,d[2],m,l,k,zu[20],jie[2][330000];

void dfs(int n,int sum)

{

    if(n==k)

    {

        jie[l][d[l]++]=sum;

        return;

    }

    dfs(n+1,sum+zu[n+b]);

    dfs(n+1,sum-zu[n+b]);

}

int main()

{

    int x,y,z;

    while(scanf("%d",&z)!=EOF)

    {

        int ans=0;

        for(m=0;m<z;m++)

        scanf("%d",&zu[m]);

        for(m=1;m<z;m++)

        {

            b=0;

            d[0]=d[1]=0;

            k=m;

            l=0;

            dfs(1,zu[0]);

            k=z-m;

            l=1;

            b=m;

            dfs(1,zu[m]);

            for(x=0;x<d[0];x++)

            {

                for(y=0;y<d[1];y++)

                {

                    if(jie[0][x]==jie[1][y])

                    ans++;

                }

            }

        }

        printf("%d\n",ans);

    }

    return 0;

}

更多做题心得的详情请查看(记得关注哦)https://mp.weixin.qq.com/s?__biz=MzIyOTM4MDMxNw==&mid=2247483798&idx=1&sn=d4fbd34e50ce4efda39d7710d2dc5dc9&chksm=e842d824df3551320d7f1ed85286b2616aec419f7a852cc5c9c9f270beb237b5e6ca83166162&token=1630951018&lang=zh_CN#rd

这篇关于小Y的难题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1028764

相关文章

教你使用Python玩转MySQL数据库,大数据导入不再是难题!

数据分析离不开数据库,如何使用python连接MySQL数据库,并进行增删改查操作呢? 我们还会遇到需要将大批量数据导入数据库的情况,又该如何使用Python进行大数据的高效导入呢? 本文会一一讲解,并配合代码和实例。 一、背景 我是在Anaconda notebook中进行连接实验的,环境Python3.6,当然也可以在Python Shell里面进行操作。 最常用也最稳定的用于连接M

常见的工时表管理难题及应对方法

工作日的时间都去哪儿了?很多人在执行任务时都会问这个问题。有一种可行方法可以跟踪工时,并将其用于最大限度提高工作效率。 这就是工时表管理。 它有助于跟踪团队在项目和任务上花费的时间,支持费用跟踪、考勤跟踪,允许自定义计费和非计费工时,并提高工作效率。 工时表管理,工时表软件,8Manage 工时表,高亚科技 什么是工时表管理? 工时表管理是跟踪和管理用于各种任务、项目或活动的时间的过程。

一招解决家里粉尘螨虫太多难题?家用空气净化器哪款品牌效果好?

一到夏天,两天不打扫家里,家里就会布满一层粉尘。而且春夏的气候也是粉尘螨虫生长和繁殖疯狂时期,一不注意室内空气污染卫生的情况下,就会加剧尘螨的滋生,体质弱、敏感的人群生活在这样的空气环境下,还会增加尘螨过敏性鼻炎的机率。 粉尘螨主要是通过空气中散播,传统的扫拖地、擦舞台表面等清洁方法,虽然能清除表面的粉尘,但对于漂浮在空气中的粉尘螨虫等颗粒没有效果。因此,如果我们需要减少空气污染

文件碎片化与数据恢复难题

天津鸿萌科贸发展有限公司致力于数据恢复业务二十余年,为政府机构、各类大中型企业、医疗教育部门及个人用户等提供了专业的数据恢复服务,避免了重大损失。 文件系统是计算机存储的关键部分,负责组织文件并跟踪它们在设备上的物理位置。文件系统数据的碎片化一直是一个令人担忧的主题。您可能听说过一些文件系统遭受严重的碎片化,而另一些文件系统则部署了有效的措施来避免它。本文中将介绍什么是碎片,为什么会发生碎片以及

Web前端遇到的难题:挑战与突破之路

Web前端遇到的难题:挑战与突破之路 在快速发展的互联网时代,Web前端技术作为连接用户与应用程序的桥梁,扮演着举足轻重的角色。然而,在实际开发中,Web前端开发者往往会遇到诸多难题。本文将从四个方面、五个方面、六个方面和七个方面,深入探讨这些难题,并尝试提出解决方案。 四个方面:浏览器兼容性问题 浏览器兼容性是Web前端开发者面临的一大难题。不同浏览器对CSS、JavaScript等技术的

hdu2045 不容易系列之(3)—— LELE的RPG难题

不容易系列之(3)—— LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 26703    Accepted Submission(s): 10648 Problem Description 人称

3D打印重塑模具行业 破解瓶颈难题

模具行业之所以享有“工业之母”的美誉,是因为它与各个制造业领域紧密相连,是制造业不可或缺的一部分。模具在零部件加工中扮演着至关重要的角色,能够提供高度可靠的产品,传统模具制造一直面临制造周期长和制造成本高两个主要问题。然而,随着技术的不断进步,一些前沿模具制造企业已经开始探索新的解决方案,其中增材制造(3D打印)技术因其独特的优势,成为了极具吸引力的选择,尤其适用于形状复杂且需要小批量生产的模具。

破解发展难题 台山这家合作社以农业社会化服务助推乡村振兴

风吹稻田千层浪,眼下,台山四九镇的早稻长势喜人,沉甸甸的稻穗迎风而动,已进入破口抽穗的关键期,即将在6月底陆续迎来丰收。在台山市明华汇种养专业合作社管理的稻田里,合作社负责人梁明喜正仔细观察着稻苗的生长情况,以对在孕穗期发生病虫害的田块及时进行施药防治,保证水稻的高产优质。 合作社负责人梁明喜正在观察稻苗的生长情况 近年来,围绕破解“谁来种地”“地怎么种”等新形势下农村产业振兴难题,台

NYOJ,181,小明的难题

小明的难题 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 课堂上小明学会了用计算机求出N的阶乘,回到家后就对妹妹炫耀起来。为了不让哥哥太自满,妹妹给小明出了个问题“既然你会求N的阶乘,那么你帮我算算1!+2!-3!+4!-5!+……N!”。这下可把小明难住了,聪明的你能帮帮他吗? 输入 第一行输入一个整数 T(0<T<=20),代表有 T 组测试数