| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
例子对了,Result:Wrong Answer 。 谁能看出来是怎么回事呢?Source
Problem Id:1160 User Id:Judas
Memory:772K Time:62MS
Language:C++ Result:Wrong Answer
Source
#include <iostream.h>
#include <string.h>
int n,m;
int x[301];
void main()
{
int i,j,k,l,qs;
int p[301][301],gg[301][301],ff[301][31];
//gg[i][j] ????????i??j???????????????????????? 457886728
//ff[j][i] ??????i????????j????????????????
memset(gg,0,sizeof(gg));memset(ff,0,sizeof(ff));
cin>>n>>m;
for(i=1;i<=n;i++) cin>>x[i];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
if(i<=j) p[i][j]=x[j]-x[i];
else p[i][j]=p[j][i];
}
for(k=1;k<=n;k++)
for(int nn=k;nn<=n;nn++)
{
l=(nn+k)/2;
for(i=k;i<=nn;i++)
gg[k][nn]+=p[i][l];
}
for(i=1;i<=n;i++) ff[1][i] = gg[1][i];
for(i=1;i<=n;i++)
for(j=2;j<=m;j++)
{
ff[j][i] = 2000000000;
for(k=j-1;k<=i;k++)
{
qs = ff[j-1][k] + gg[k+1][i];
if(qs<ff[j][i]) ff[j][i] = qs;
}
}
cout<<ff[m][n]<<endl;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator