| ||||||||||
| 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 | |||||||||
Re:为什么我的第5个数据和第7个数据错了?In Reply To:为什么我的第5个数据和第7个数据错了? Posted by:xijunlee93 at 2012-12-03 19:44:36 > 对了下别人的数据,发现7组数据对了5组,其中两组错了。
> 分别是
> 0 5
> 10000 3 4
> 2 3000
> 3 2000
> 4 2000
> 5 9000
> 8000 2 3
> 3 5000
> 4 2000
> 5 7000
> 5000 4 0
> 2000 3 1
> 5 1900
> 50 2 0
> ans:3950
> 而我的是4000
> 另外一组答案是105
> 而我的是104
>
> 我用的算法就是DFS,很简单的搜索啊,为什么会有两组数据是错的?
> 附上源代码:
> #include<fstream>
> using namespace std;
> int m,n,owner[101],t[101][50],v[101][50],ans=21400000;
> int abs(int a,int b)
> {
> if (a>b)
> return a-b;
> else
> return b-a;
> }
> int min(int a,int b)
> {
> if (a<b)
> return a;
> else return b;
> }
> int dfs(int num)
> {
> int i,temp=2140000;
> for (i=1;i<=t[num][0];i++)
> if (abs(owner[num],owner[t[num][i]])<=m)
> temp=min(temp,dfs(t[num][i])+v[num][i]);
> temp=min(temp,v[num][0]);
> return temp;
> }
> int main()
> {
> ifstream infile;
> ofstream outfile;
> infile.open("data.in",ios::in);
> outfile.open("data.out",ios::out);
> int p,l,x,i,j,temp;
> infile>>m>>n;
> for (i=1;i<=n;i++)
> {
> infile>>p>>l>>x;
> v[i][0]=p;owner[i]=l;
> t[i][0]=x;
> for (j=1;j<=x;j++)
> infile>>t[i][j]>>v[i][j];
> }
> temp=dfs(1);
> ans=min(ans,temp);
> outfile<<ans;
> infile.close();
> outfile.close();
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator