100层扔玻璃球问题的程序一直调试不出来,麻烦各位帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/28 11:59:36
#include "stdio.h"
#include "string.h"
const int INF = 200000000;
const int maxN = 110;
int f[maxN][maxN][maxN];
int n, k;
int
find(int l, int r, int k)
{
if (l > r)
{
return 0;
}
if (k == 1)
{
return r - l + 1;
}
if (l == r)
{
return 1;
}
if (f[l][r][k] != -1)
{
return f[l][r][k];
}
int mid;
int left, right, t;
f[l][r][k] = INF;
for (mid = l; mid <= r; ++mid)
{
left = find(l, mid - 1, k - 1);
right = find(mid + 1, r, k);
t = left > right ? left : right;
f[l][r][k] <?= t;
}
return ++f[l][r][k];
}
int
main()
{
memset(f, -1, sizeof(f));
while (scanf("%d %d", &n, &k) == 2)
{
printf("%d\n", find(1, n, k));
}
return 0;
}

一直显示的是这一行有问题-----f[l][r][k] <?= t

f[l][r][k] <?= t;
这语法就不通
你想表达什么意思

软件问题。

我需要先问几个问题……然后才能看明白你的东西
首先,最好能把想要做什么写出来,你扔小球要做什么?算落地时间?落地时的速度?能量?
其次
1.l、r、n、k都是干吗的
2.INF是什么?
3.f[l][r][k] <?= t; 你要拿它做什么?

先问这些,知道你的目的才能看懂这些东西……不然谁都没则
补充:
不是你自己做的?那没办法了,像一楼说的:f[l][r][k] <?= t;语法上就过不去。错误提示的也是语法问题。f[l][r][k] = t;你修改成这样看看。

不过你的题我不太懂,不过好像是要计算一下这两个杯子分别在哪两层来扔这个玻璃杯可以更准确的计算出它不会碎的那层?如果是实际问题,那么这程序一点用都没有……因为它考虑的因素太少。