讨论 / 高分求大牛,指点小菜写的程序哪错了,全都WA!
panyushan 2009-10-12 20:41:00
点我顶贴 收藏 删除
该程序如下,自己设计了很多样例都能过,但交上去后全部WA,希望哪位大牛可以指点一下,在下感激不尽!!

#include<iostream>

#include<fstream>

using namespace std;

long f[5100][3],t1[1100],t2[1100],w[1100];

int main()

{

bool pan;

int t, n, i, j, dmax = 0, k, flag,flag1;

cin >> t >> n;

for(i = 1; i <= n; i ++)

cin >> t1[i] >> t2[i] >> w[i];

for(i = t; i >= 1 ; i --)

{

f[i][1] = f[i + 1][1];

f[i][2] = f[i + 1][2];

flag = -1;

flag1 = -999999999;

for(k = 1; k <= 2; k ++)

{

for(j = 1; j <= n ; j ++)

{

if(t1[j] == i && i + t2[j] - t1[j] <= t)

{

pan = (f[i + t2[j] - 1][k] + w[j] > f[i][k]) &&( flag != j || flag1 != w[j]);

if(pan)

{

f[i][k] = f[i + t2[j] - 1][k] + w[j];

flag = j;

flag1 = w[j];

}

}

}

}

if(f[i][1] + f[i][2] > dmax)

{

dmax = f[i][1] + f[i][2];

}

}

cout << dmax << endl;

return 0;

}

查看更多回复
提交回复