摘要:
题意: 给定m个1位数字,要求用这些数字组成n的倍数的最小数字,如果无法组成就输出0分析: BFS,由于n最大5000,余数最多5000,利用余数去判重,并记录下路径即可代码: #include #include #include #include #include using namespa... 阅读全文
摘要:
题意: 要求的是所有生成树中最大边与最小边差值最小的那个。分析: 其实可以利用最小瓶颈生成树,就是最小生成树这一性质,枚举原图的最小边,然后找相应生成树的最大边代码: #include #include #include #include #include using namespace std... 阅读全文
摘要:
题意: 求最小的表达式树,也就是把相同的表达式子树给替换成最前面相同的编号。分析: 用mapsmp;存放子树对应的字符串,如果以后出现相同的子树则用相同编号表示。用build函数先根据输入的语句建树。代码: #include #include #include #include #includ... 阅读全文
摘要:
题意: 给52张的扑克堆,先从左往右发7张牌,之后连续不断从左往右发7张牌,如果有牌堆形成了以下3种情况(按顺序判断):1、头两张+尾一张和为10或20或30。2、头一张+尾两张和为10或20或30。3、尾三张和为10或20或30。就把这三张牌拿走,放到总牌堆底(这步要不断执行直到不再满足条件或牌... 阅读全文
摘要:
题意: 给出n和m,n代表有n个城市。接下来m行,分别给出a,b,c。代表a与b之间有一条颜色为c的道路。求最少走几条道路才能从1走到n。输出要走的道路数和颜色.保证颜色的字典序最小。分析: bfs,先倒搜一次,求出每个点到终点的距离d[i]。然后从起点走,每次走到新点保证d-1且颜色最小。代码... 阅读全文