DP+DFS
ZHANGjing_
持之以恒,乐观面对
展开
-
十六进制转换为八进制
#include#includeint main(){int a,t;int ret=0,n=0,sum=0;scanf("%x",&a);while(a>0){t=a%16;a/=16;sum+=t*pow(16,n);n++;}printf("%o",sum);}原创 2016-11-01 19:51:15 · 429 阅读 · 0 评论 -
蓝桥杯题 五星填数(dfs)
标题:五星填数如【图1.png】的五星图案节点填上数字:1~12,除去7和11。要求每条直线上数字和相等。如图就是恰当的填法。请你利用计算机搜索所有可能的填法有多少种。注意:旋转或镜像后相同的算同一种填法。请提交表示方案数目的整数,不要填写任何其它内容。#include int map[11]={0}; int visit[11]={0}原创 2017-03-14 21:09:14 · 593 阅读 · 0 评论 -
蓝桥杯 剪格子(深搜DFS)
题目描述标题:剪格子 如图p1.jpg所示,3 x 3 的格子中填写了一些整数。 我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60。 本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。 如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目原创 2017-03-30 15:33:24 · 388 阅读 · 0 评论 -
蓝桥杯真题 39层台阶(dfs)
题目描述 第39阶台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多 少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。 要求提交的是一个整数。原创 2017-03-21 19:34:17 · 1068 阅读 · 0 评论 -
蓝桥杯 单位分数
形如:1/a 的分数称为单位分数。可以把1分解为若干个互不相同的单位分数之和。例如:1 = 1/2 + 1/3 + 1/9 + 1/181 = 1/2 + 1/3 + 1/10 + 1/151 = 1/3 + 1/5 + 1/7 + 1/9 + 1/11 + 1/15 + 1/35 + 1/45 + 1/231等等,类似这样的分解无穷无尽。我们增加一个约束条件:最大的分原创 2017-03-10 21:25:47 · 1142 阅读 · 0 评论 -
让我怎能过大年
有如下的加法算式。其中每个汉字代表一个数字。(如果存在对齐问题,可参见【图1.png】) 年 大年 过大年 能过大年 怎能过大年 我怎能过大年+ 让我怎能过大年------------------ 能能能能能能能请填写“让我怎能过大年” 所代表的整数。所有数原创 2017-03-06 16:50:10 · 371 阅读 · 0 评论 -
方格填数
方格填数如下的10个格子 +–+–+–+–+ | # | ? | ? | ? | +–+–+–+–+ | ? | ? | ? | ? | +–+–+–+–+ | ? | ? | ? | # | +–+–+–+–+#:不能填数字;?:需要填写数字的空格 填入0~9的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻)一共有多少种可能的填数原创 2017-03-08 01:37:25 · 251 阅读 · 0 评论 -
括号配对问题
描述 现在,有一行括号序列,请你检查这行括号是否配对。输入 第一行输入一个数N(0 测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有”[“,”]”,”(“,”)”四种字符输出 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No原创 2017-02-15 11:18:59 · 219 阅读 · 0 评论 -
石子归并DP
#includeint main(int argc,const char*argv[]){ const int INF=0x3f3f3f3f; int i,j,k,n; int a[101][101];//a[i][j]为从i堆到j堆归并的最小价值数 int sum[101][101];//sum[i][j]为从i堆到j堆的石子总数和 int b[101]; scanf("%d原创 2017-02-20 15:14:55 · 514 阅读 · 0 评论 -
DFS
三羊献瑞观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞------------------- 三 羊 生 瑞 气(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。转载 2017-02-11 11:03:40 · 237 阅读 · 0 评论 -
DP问题 导弹拦截
#includeint main(){int m,n,i,j;int dp[20]={0};int a[20]={0};scanf("%d",&n);while(n--){int max=0;int temp=0;scanf("%d",&m);for( i=0;i{dp[i]=1;scanf("%d",&a[i]);for( j=0;原创 2017-02-11 10:59:56 · 298 阅读 · 0 评论 -
队花的烦恼 (DP)
描述ACM队队花C小+最近在X大OJ上做题,竟发现了一道做不出来的…水题!她快郁闷死了……也许是最近状态不太好吧……她希望大家能帮帮忙:把一个整数分成若干个不为零的整数,问有多少种不同分法。例:7 3 其中的分法:1 1 5,1 5 1,5 1 1是同一种分法。输入有多组测试数据每组数据都有两个整数n,m(6n表示该整数,m表示把n分成m份输出对每一原创 2017-02-18 14:46:06 · 278 阅读 · 0 评论 -
01背包问题
给大家附上一个题目吧,便于理解ctest有n个苹果,要将它放入容量为v的背包。给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值。输入:每组测试数据第一行为2个正整数,分别代表苹果的个数n和背包的容量v接下来的n行,每行2个正整数,用空格隔开,分别代表苹果的大小c和价钱w 01背包其实就是遍历所有可能情况 然后取最优的结果 和搜索差不多 不过转载 2017-02-17 10:08:14 · 271 阅读 · 0 评论 -
饭卡(背包问题)DP
Problem Description电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。Input转载 2017-02-17 10:15:13 · 291 阅读 · 0 评论 -
蓝桥杯算法训练 K好数
问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式输入包含两个正整数,K和L。输出格式输出一个整数,表示答案对10000000原创 2017-04-03 17:26:52 · 551 阅读 · 0 评论