计蒜客课程系列:蒜头学算术(DFS)

蒜头君开公司【全排列】 2020 年,蒜头君自己开了一家拥有 NN 个员工的大公司。每天,蒜头君都要分配 NN 项工作给他的员工,但是,由于能力的不同,每个人对处理相同工作所需要的时间有快有慢。众所周知,蒜头君是一个非常重视效率的人,他想知道该如何分配工作,才能使得完成所有工作的时间总和最小(每个员工只可以被分配到一个工作)。但是我们也都知道蒜头君不是一般的懒,所以蒜头君找到了你,请你拯救一下蒜头君吧! 输入格式 第 阅读详情


Link:http://www.jisuanke.com/course/8/349


蒜头的数学实在是太差了,于是老师把他关到小黑屋让他闭门修炼。老师跟他一张纸,上面一排写着1, 2, 3...N这N个数,中间用空白分隔。老师让他在空白处填上加号或者减号。他让蒜头君求出一共有多少种加运算符的方法使得整个表达式的值为0,并输出所有的方案。比如N=7时,1 2 3 4 5 6 7排成一排,一种插入符号的方案为1+2-3+4-5-6+7=0。是不是很有趣,快来帮蒜头君解出这题吧(*´▽`)ノノ

输入为一行,包含一个整数N(3≤N≤9)。

输出为所有在每对数字间插入“+”或“-”后能得到和为零的数列,并按照字典(ASCII码)序排列。如果无解就输出一行None。

不知道字典序和ASCII也不要紧,我们看样例输出就清楚啦,1到N排成一排,先每个位置优先放"+",再放"-",这么放的原因是因为"+"的ASCII码要比"-"小。

样例1

输入:

7

输出:

1+2-3+4-5-6+7
1+2-3-4+5+6-7
1-2+3+4-5+6-7
1-2-3-4-5+6+7


AC code:

#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
using namespace std;
int n,i,fg;
char a[22];
void dfs(int idx,int ret)
{
    if(idx==n){
        if(ret==0){
            fg=1;
            printf("1");
            for(i=1;i<=n-1;i++)
                printf("%c%d",a[i],i+1);
            puts("");
        }
        return;
    }
       a[idx]='+';
       dfs(idx+1,ret+idx+1);
       a[idx]='-';
       dfs(idx+1,ret-(idx+1));
}
int main(){
    while(scanf("%d",&n)==1){
        fg=0;
        dfs(1,1);
        if(!fg)
            printf("None\n");
    }
    return 0;
}


计蒜客 T1595 迷宫(一)题解 计蒜客 T1595 迷宫(一)题解 hi,大家好,我是Loony lovegood.今天突发奇想写了一篇题解 先推荐个oj //不是做广告 计蒜客 最好的oj 洛谷 好了,废话不多说了.以下是正文. 没看题的小伙伴戳这里 T1595题目 题目主要描述 两个整数 n 和 m,表示这是一个 n×m 的迷宫。 在这个n 行 m\m 列的迷宫里,其中 ‘S’ 表示蒜头君的位置,’*‘表示墙,蒜头君无法通过,’.‘表示路,蒜头君可以通过’.'移动,'T’表示迷宫的出口(蒜头君每次只能移动到四个与他相邻的位置——上, 阅读详情

相关推荐

【算法积累】计蒜客迷宫三问 (DFS & BFS)

计蒜客T1595 - 迷宫(一) 题目链接 一天蒜头君掉进了一个迷宫里面,蒜头君想逃出去,可怜的蒜头君连迷宫是否有能逃出去的路都不知道。 看在蒜头君这么可怜的份上,就请聪明的你告诉蒜头君是否有可以逃出去的路。 输入格式 第一行输入两个整数 nnn 和 mmm,表示这是一个 n×mn \times mn×m 的迷宫。 接下来的输入一个 nnn 行 mmm 列的迷宫。其中S表示蒜头君的位置,*表示墙,蒜头君无法通过,.表示路,蒜头君可以通过.移动,T表示迷宫的出口(蒜头君每次只能移动到四个与他相邻的位置——上,

CCH²¹的博客 1593

正方形

蒜头君手上有一些小木棍,它们长短不一,蒜头君想用这些木棍拼出一个正方形,并且每根木棍都要用到。 例如,蒜头君手上有长度为11,22,33,33,33的55根木棍,他可以让长度为11,22的木棍组成一条边,另外三根分别组成33条边,拼成一个边长为33的正方形。蒜头君希望你提前告诉他能不能拼出来,免得白费功夫。 输入格式 首先输入一个整数n(4≤n≤20),表示木棍数量,接...

weixin_30297281的博客 220

计蒜客C++入门课程完整版

计蒜客C++课难以通关的同学看过了,这里有题目全解析,以及lz补充的相关资料。

蒜头君的新游戏 - 计蒜客

目录 题目 题解 题目 1000ms 131072K 工作空闲之余,蒜头君经常带着同事们做游戏,最近蒜头君发明了一个好玩的新游戏:n位同事围成一个圈,同事 A 手里拿着一个兔妮妮的娃娃。蒜头君喊游戏开始,每位手里拿着娃娃的同事可以选择将娃娃传给左边或者右边的同学,当蒜头君喊游戏结束时,停止传娃娃。此时手里拿着娃娃的同事即是败者。 玩了几轮之后,蒜头君想到一个问题:有多少种不同的方法,使得从同事 A 开始传娃娃,传了m次之后又回到了同事 A 手里。两种方法,如果接娃娃的同事不同,或...

Keven_11的博客 516

robomimic实验复现全流程:从数据集下载到训练视频生成

本文详细介绍了机器人模仿学习项目RoboMimic的完整实验复现流程。内容涵盖从使用Conda创建Python 3.8隔离环境、安装RoboSuite仿真器和MuJoCo物理引擎,到下载并探索数据集、配置与启动模型训练,最后进行模型评估和生成策略执行视频。该指南旨在帮助研究者和开发者高效搭建实战环境,规避常见问题,快速验证算法或应用于实际场景。

weixin_29089057的博客 518

保姆级教程:用VESTA软件5分钟搞定纳米颗粒Wulff Construction建模(以Au金为例)

本文提供了一份详细的VESTA软件教程,指导用户如何在5分钟内完成纳米颗粒Wulff Construction建模,特别以金(Au)为例。从环境搭建、基础晶体结构创建到Wulff Construction设置和可视化优化,涵盖了全流程操作步骤和常见问题解决方案,适合科研新手快速上手。

weixin_29311017的博客 436

哪位同学最优秀

蒜头君想把计算机专业相关的课程都写一遍,放到计蒜客上面帮助同学们学习。但是蒜头君意识到要写的课程有很多很多,蒜头君实在忙不过来,于是他想招几位实习生帮助一块写课程。招聘广告一发,吸引了好多大牛前来应聘,于是蒜头君每天都要安排面试。 有一天,结束了一天面试后,boss 跑来问蒜头君:“小蒜,你觉得今天面试的同学里面,谁最优秀呀,谁最适合写课程呀?”蒜头君递给 boss 一沓简历,回答到:“这里有NN份简历,boss 你猜猜哪位同学最优秀。” 每份简历都有一个对应的idid,编号从11开始,依次从...

wwenddy的博客 345

【吃瓜教程】周志华西瓜书课后习题第一章答案

第一章 1.1表1.1中若只包含编号为1和4的两个样例,试给出相应的版本空间。 编号 色泽 根蒂 敲声 好瓜(标记) 1 青绿 蜷缩 浊响 是Y 4 乌黑 稍蜷 沉闷 否N 知识储备: 假设空间: 所有假设组成的空间 版本空间:与训练集一致的假设集合 从假设空间到版本空间算法大致如下: 1.删除与正例不一致的假设且删除与反例一致的假设 2.删除与正例不一致的假设 3.删除与反例一致的假设 具体选择哪种

MaxQuYY的博客 8370

计蒜客-中国象棋(DFS)

中国象棋博大精深,其中马的规则最为复杂,也是最难操控的一颗棋子。 我们都知道象棋中马走"日",比如在 (2,4)(2, 4)(2,4) 位置的一个马,跳一步能到达的位置有 (0,3)(0, 3)(0,3),(0,5)(0, 5)(0,5),(1,2)(1, 2)(1,2),(1,6)(1, 6)(1,6),(3,2)(3, 2)(3,2),(3,6)(3, 6)(3,6),(4,3)(4, 3)(4,3),(4,5)(4, 5)(4,5)。 蒜头君正在和花椰妹下棋,蒜头君正在进行战略布局,他需要把在 (x

qq_43531919的博客 1820

FPGA AXI DDR3读写时序调试与FIFO缓存实战解析

本文深入解析FPGA中AXI协议与DDR3的读写时序调试,重点探讨FIFO缓存在数据流控制中的关键作用。通过实战案例详细讲解突发传输中的地址对齐、数据分片等常见问题,并提供状态机设计、仿真波形分析和性能优化技巧,帮助开发者高效解决高速数据存储场景下的时序同步与数据一致性问题。

blockchain9miner的博客 1118

5分钟搞定!用MCU GPIO实现零功耗一键开关机电路(附完整原理图)

本文详细介绍了如何利用MCU GPIO设计零功耗一键开关机电路,适用于便携式设备和电池供电项目。通过软硬件结合的方式,实现关机状态下的真正零功耗,同时提供智能开关机控制。文章包含完整原理图、元件选型指南和实际搭建技巧,帮助开发者在5分钟内完成高效电源管理方案。

weixin_28339967的博客 342

计蒜客-踏青(DFS)

蒜头君和他的朋友周末相约去召唤师峡谷踏青。他们发现召唤师峡谷的地图是由一块一块格子组成的,有的格子上是草丛,有的是空地。草丛通过上下左右 444 个方向扩展其他草丛形成一片草地,任何一片草地中的格子都是草丛,并且所有格子之间都能通过上下左右连通。如果用’#‘代表草丛,’.'代表空地,下面的峡谷中有 222 片草地。 ##.. ..## 处在同一个草地的 222 个人可以相互看到,空地看不到草地里面的人。他们发现有一个朋友不见了,现在需要分头去找,每个人负责一片草地,蒜头君想知道他们至少需要多少人。 输入格

qq_43531919的博客 773

【入门AUTOSAR网络管理测试】CANoe测试T_WakeUp时间

随着智能电动汽车行业的快速发展,目前AUTOSAR网络管理也得到了广泛应用,AUTOSAR网络管理测试也是汽车网络测试中非常重要的环节,NM问题导致的汽车ECU不能唤醒、电瓶亏电等问题,对于新入门AUTOSAR网络管理测试的同学不清楚如何开展测试,那么本章节就主要给大家介绍网络管理中T_WakeUp时间如何测试。【入门AUTOSAR网络管理测试】AUTOSAR网络管理规范需求解读。

测试领域技术分享 2135

计蒜客模拟赛D1T3 蒜头君的坐骑:用dfs转移dp

题目链接:https://nanti.jisuanke.com/t/16447 题意:   蒜头君有一只坐骑,人马。   一天,蒜头君骑着他的坐骑走上了一片n*m的大荒野,一开始时,蒜头君在(1,1)点,他要前往(n,m)点,蒜头君的人马每次可以向右或向下移动一格。然而这片荒野并不平静,除了起点和终点外每个点都有一只怪物会袭击蒜头君。   然而蒜头君的人马强大无比,它会先对怪物造...

a1392136的博客 171

最适合入门的100个深度学习项目

本专栏整理了《PyTorch深度学习项目实战100例》,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。

优快云 精品推荐 12万+

【本地部署实战】LM Studio深度使用指南:从环境搭建到模型调优

LM Studio通过极简的操作流程和强大的生态兼容性,让本地部署大模型成为可能。随着M4芯片的发布和CUDA 12.0的优化,未来本地化AI开发将迎来新的爆发点。建议开发者关注官方Discord社区(https://discord.gg/lmstudio)获取最新模型支持信息。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 8750

计蒜客-dfs(深搜)-分为互质组

计蒜客-dfs(深搜)-分为互质组 蒜头君给定 n个正整数,将它们分组,使得每组中任意两个数互质。至少要分成多少个组? 输入格式 第一行是一个正整数 n。1≤n≤10。 第二行是 n 个不大于 10000的正整数。 输出格式一个正整数,即最少需要的组数。 用二维vector去储存,需要注意的就是在一个组内,在往进添加元素时,只要有一个已经在vector中的元素不互质,这个组就不可取 #include<bits/stdc++.h> using namespace std; vector<i

qq_45973802的博客 423

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【蓝桥杯Java组】用Java带你暴走迷宫—DFS深度优先搜索

带你用Java+DFS深度优先搜索一次性走遍三道迷宫类问题,还不快来点开看看~ 题目 链接 迷宫(一) https://nanti.jisuanke.com/t/T1595 迷宫(二) http://nanti.jisuanke.com/t.

Keep coding! 3346

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【计蒜客】基础算法入门之深度搜索(2)蒜头学算术d

很想写一个很好的文章引子,但是囿于语文水平有限,写不出什么好东西来,干脆就随便写点东西吧。之前写的文章都是关于爬虫的,爬虫虽好,但是写来写去就是那些东西,是时候学习点新东西了!现在自己很缺关于算法的知识,于是就上计蒜客学习了基础算法入门,但是苦于它教学用的是C++,而我大一学过C++,现在早就忘光了。于是我将写几篇系列文章,将计蒜客上面的C++算法改写成Python。 这是第三篇文章《深度搜

小样的博客 1085

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

计蒜客:踏青---dfs

计蒜客:踏青 题目描述: 蒜头君和他的朋友周末相约去召唤师峡谷踏青。他们发现召唤师峡谷的地图是由一块一块格子组成的,有的格子上是草丛,有的是空地。草丛通过上下左右 4 个方向扩展其他草丛形成一片草地,任何一片草地中的格子都是草丛,并且所有格子之间都能通过上下左右连通。如果用’#‘代表草丛,’.'代表空地,下面的峡谷中有 2 片草地。 1 ##… 2 …## 处在同一个草地的 2 个人可以相互看到,空地看不到草地里面的人。他们发现有一个朋友不见了,现在需要分头去找,每个人负责一片草地,蒜头君想知道他们至少需要

qiaomm的个人博客 756

DAY 15 计蒜客 迷宫(一) dfs

dfs:深度优先搜索(一条路走到黑) 原题链接点我 迷宫(一) 一天蒜头君掉进了一个迷宫里面,蒜头君想逃出去,可怜的蒜头君连迷宫是否有能逃出去的路都不知道。 看在蒜头君这么可怜的份上,就请聪明的你告诉蒜头君是否有可以逃出去的路。 输入格式 第一行输入两个整数 nn 和 mm,表示这是一个 n \times mn×m 的迷宫。 接下来的输入一个 nn 行 mm 列的迷宫。其中 ‘S’ 表示蒜头君的位...

OWCYKH的博客 949

计蒜客 迷宫问题1

一天蒜头君掉进了一个迷宫里面,蒜头君想逃出去,可怜的蒜头君连迷宫是否有能逃出去的路都不知道。 看在蒜头君这么可怜的份上,就请聪明的你告诉蒜头君是否有可以逃出去的路。 输入格式 第一行输入两个整数 n和 m,表示这是一个 n×m 的迷宫。 接下来的输入一个 n 行 m 列的迷宫。其中 ‘S’ 表示蒜头君的位置,’*‘表示墙,蒜头君无法通过,’.‘表示路,蒜头君可以通过’.'移动,'T’表示迷宫的出口...

还有头发还能学的博客 1846

计蒜客 dfs 买书

题目: 蒜头君去书店买书,他有 mm 元钱,书店里面有 nn 本书,每本书的价格为 p_ipi​ 元。蒜头君很爱学习,想把身上钱都用来买书,并且刚好买 kk 本书。请帮蒜头君计算他是否能刚好用 mm 元买 kk本书。 输入格式 第一行输入 33 个整数 m(1 \le m \le 100000000)m(1≤m≤100000000),n(1 \le n \le 30)

xiadada2的博客 591

【计蒜客】基础算法入门之深度搜索

很想写一个很好的文章引子,但是囿于语文水平有限,写不出什么好东西来,干脆就随便写点东西吧。之前写的文章都是关于爬虫的,爬虫虽好,但是写来写去就是那些东西,是时候学习点新东西了!现在自己很缺关于算法的知识,于是就上计蒜客学习了基础算法入门,但是苦于它教学用的是C++,而我大一学过C++,现在早就忘光了。于是我将写几篇系列文章,将计蒜客上面的C++算法改写成Python。 这是第二篇文章《深度搜索》

小样的博客 1300

计蒜客 踏青(dfs)

题目: 蒜头君和他的朋友周末相约去召唤师峡谷踏青。他们发现召唤师峡谷的地图是由一块一块格子组成的,有的格子上是草丛,有的是空地。草丛通过上下左右 4 个方向扩展其他草丛形成一片草地,任何一片草地中的格子都是草丛,并且所有格子之间都能通过上下左右连通。如果用’G’代表草丛,’.'代表空地,下面的峡谷中有 2 片草地。 GG.. ..GG 处在同一个草地的2个人可以相互看到,空地看不到草地里面的人。...

CRblog 359

计蒜客:最大的蛋糕块---dfs

题目描述: 这一天蒜头君生日,他的朋友们一起来给蒜头君买一个大的蛋糕过生日。游戏做完后到了切蛋糕的时刻了,朋友们知道蒜头君喜欢吃蛋糕,便让蒜头君自己给自己切一块最大的。蒜头君看朋友们这么热情也就不客气了。 这块蛋糕是由 R \times CR×C 的网格构成,每个网格上面都放有不同的水果。蒜头君把这些水果分为两类,一类是自己喜欢吃的水果,用’#‘来表示;一类是自己不喜欢吃的水果,用’.'来表示。 蒜头君对切出的蛋糕有如下要求: 切出的蛋糕连成一块(可以不为矩形,但必须在网格上连通) 切出的蛋糕只包含自己喜欢

qiaomm的个人博客 1241
上一篇: 计蒜客课程系列:统计三角形(DFS+哈希状态存储标记)
下一篇: Duplicate Pair(异或操作)
林下的码路
博客等级 码龄12年 295粉丝 506原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林下的码路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值