hdu 1011那位大牛能帮我看看代码 为什么总是wa啊?感激不尽啊!

问题描述:

hdu 1011那位大牛能帮我看看代码 为什么总是wa啊?感激不尽啊!
#include
#include
#include
#include
using namespace std;
long n,m;
long a[101],b[101],l[101],r[101],f[101][101];
long work(long,long);
long work(long x,long y)
{
long i,j;
if ((x==0)||(y==0)) return (0);
if ((l[x]==0)&&(r[x]==0))
{
if (20*y
1个回答 分类:综合 2014-12-14

问题解答:

我来补答
#include
#include
#include
#include
using namespace std;
long n,m;
long a[101],b[101],l[101],r[101],f[101][101];
long work(long,long);
long work(long x,long y)
{
long i,j;
if ((x==0)||(y==0)) return (0);
if ((l[x]==0)&&(r[x]==0))
{
if (20*y>n>>m;//scanf("%d%d",&n,&m);你没有包括头文件cstdio,那么别用scanf()
if ((n==-1)&&(m==-1)) break;
memset(l,0,sizeof(l));
memset(r,0,sizeof(r));
memset(f,0,sizeof(f));
for (i=1;i>a[i]>>b[i];//scanf("%d%d",&a[i],&b[i]);同上
for (i=1;i>j>>k;//scanf("%d%d",&j,&k);同上
if (k==1)
{
p=k; k=j; j=p;
}
if (l[j]==0)
l[j]=k;
else
{
p=l[j];
while (r[p]!=0) p=r[p];
r[p]=k;
}
}
p=work(1,m);
cout
再问: 恩。! 已经改过来的。! 不过还是wa啊。! 我觉得可能是程序本身有问题。! 能帮我看看么?!
再答: 我看不懂你要实现什么功能...但是....你写了一个while(1)的死循环我就觉得不合适....一般程序不会这么写的....而且也没有终止的跳出语句....
再问: while (1)是因为输入有多组数据 然后当 n,m都为-1时输入结束。! 这题就是道树形DP杭电上有的。!
 
 
展开全文阅读
剩余:2000