2.最后的战场(动态规划)pascal (war.pas/c/cpp)
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/29 08:53:02
2.最后的战场(动态规划)pascal (war.pas/c/cpp)
TINLTMA想要寻找一块正方形平地作为战场,大陆是矩阵,其中有0有1,“0”表示该格子是平地,而“1”表示该格子是沟壑.我们要找尽量大的一块正方形区域,使这块区域中只包含平地而不包含任何沟壑.输出最大的正方形区域的边长.【输入】 输入文件名为war.in.输入第一行包含两个整数N、M,
输出包含且仅包含一行,表示最大的正方形区域的边长.
【样例】
war.in
War.out
3 2
0 0
0 0
1 1
2
【数据规模约定】
对于100%的数据,
TINLTMA想要寻找一块正方形平地作为战场,大陆是矩阵,其中有0有1,“0”表示该格子是平地,而“1”表示该格子是沟壑.我们要找尽量大的一块正方形区域,使这块区域中只包含平地而不包含任何沟壑.输出最大的正方形区域的边长.【输入】 输入文件名为war.in.输入第一行包含两个整数N、M,
输出包含且仅包含一行,表示最大的正方形区域的边长.
【样例】
war.in
War.out
3 2
0 0
0 0
1 1
2
【数据规模约定】
对于100%的数据,
if (map[i,j]='0') then f[i,j]:=f[i-1,j-1]+1
else f[i,j]:=max{f[i,j-1],f[i-1,j]};
map表示地图
f[i,j]表示以i,j为右下角,1,1为左上角的矩形中最大的正方形
再问: 这是方程吗?程序也附上吧》
再答: 好吧 原来是错的 const maxn=100; maxm=100; var i,j,k,n,m,ans:longint; f,map,left,up:array[0..maxn+1,0..maxm+1]of longint; Function min(a,b,c:longint):longint; begin min:=maxlongint; if a
else f[i,j]:=max{f[i,j-1],f[i-1,j]};
map表示地图
f[i,j]表示以i,j为右下角,1,1为左上角的矩形中最大的正方形
再问: 这是方程吗?程序也附上吧》
再答: 好吧 原来是错的 const maxn=100; maxm=100; var i,j,k,n,m,ans:longint; f,map,left,up:array[0..maxn+1,0..maxm+1]of longint; Function min(a,b,c:longint):longint; begin min:=maxlongint; if a
2.最后的战场(动态规划)pascal (war.pas/c/cpp)
单词连接 (link.pas/c/cpp)pascal语言的问题,求pascal程序详细内容
数字积木(brick.pas/c/cpp)
c语言 数字三角形的动态规划
一道pascal题目排列(permutation)【源程序名】permutation.(pas/cpp)【问题描述】有n
统计数字Pascal1.统计数字(P1266.pas/c/cpp)【问题描述】\x05一个数“含有0”是指这个数至少有某
C语言经典的动态规划题目源程序和解释(c语言)动态规划定义等……越仔细分越高我只是初二的,像NOIP竞赛题,“采药”、“
PASCAL动态规划一水题稀里糊涂就过了,
关于c++的题目题五、统计数字(count.pas/c/cpp)【问题描述】某次科研调查时得到了n个自然数,每个数均不超
Pascal习题习题2:a+b(sum.bas/ sum.pas/ sum.c)【问题描述】相信a+b问题对大家来说,应
PASCAL 请问我在进行对int64数据快排后作动态规划单调队列操作时,每次的快排关键字怎么取
0-1背包问题的多种解法代码(动态规划、贪心法、回溯法、分支限界法)