摘要:
跟hdu的那道老鼠吃东西的很像,但是,所不同的是,这道题的起点没有预先跟你说,我一开始用了整个数组的最大值作为起始点,错了,后来发现如果这个数组中有很多相同的最大值的话,运行起来就会错,所以我干脆全部搜索,每个数值都有成为起点的机会——ACCEPT#include "iostream"#include "string.h"using namespace std;int p[4][2]={{1,0},{0,-1},{-1,0},{0,1}};int num[110][110],mark[110][110],maxb=0,n,m;int dfs(int x, 阅读全文
摘要:
一开始用map+max作为返回值,答案是对的,超时了,因为一些格子原先算过了,后来再用到它时,又得算它的值,所以超时了用p来表示它的范围,没有*i,所以错了用mark来表示从边走到它这里要的的最大权重和,第一次把mark放到if外面,结果,当mark不是0时,mark又变回map+max了,所以错了,把它放到if里面,ACCEPT了#include "iostream"#include "string.h"using namespace std;int p[4][2]={{0,1},{1,0},{0,-1},{-1,0}};int n,k,map[110 阅读全文
摘要:
2 3 5 7的倍数,其中一个数的2 3 5 7倍也是同类型数,根据这个来递推,每个数都有机会乘于2,3,5,7,乘完进行比较,——这种方法是从前面推出后面的数据,不像之前解过的从后面推到前面,所以想不出来,主要是看到数据类型的题意,我就感觉做不了了,看来以后不可以放弃的太快#include "iostream"using namespace std;int min(int a,int b){return a>b?b:a;}int main(){ int f[5850],i,i1=1,i2=1,i3=1,i4=1,n; f[1]=1; for(i=2;i>n&a 阅读全文