Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:Hawk大哥,我这个O(m)的复杂度的C++程序,G++ RE, C++ TLE,真的搞不明白了啦。。。。。。

Posted by lgq1205 at 2009-08-10 13:00:35 on Problem 2230
In Reply To:Hawk大哥,我这个O(m)的复杂度的C++程序,G++ RE, C++ TLE,真的搞不明白了啦。。。。。。 Posted by:huicpc16 at 2005-11-02 21:47:14
#include<iostream>
#include<cstring>
#define N 1000000
using namespace std;
struct K{
    int x,y;
}k[N];
bool vist[N];
int tot = 1;
int re[N];
bool flag = false;
bool dfs(int ceng,int  pre)
{
    re[ceng] = pre;
    if(ceng==tot-1)
    {
        if(pre==1)
            return   true;
        return false;
    }
    for(int i = 1;i<tot;i++)
    {
        if(!vist[i]&&k[i].x==pre)
        {
            vist[i] = true;
            if(dfs(ceng+1,k[i].y))
                return true;
            vist[i] = false;
        }
    }
    return false;
}
int main()
{
   // freopen("in","r",stdin);
    int n,m;
    while(cin>>n>>m)
    {
        if(n==1)
        {
            cout<<"1"<<endl;
            continue;
        }
        if(n==0&&m==0)
            break;
        tot = 1;
        memset(vist,false,sizeof(vist));
        int a,b;
        int id,k1 = 0;
        for(int i = 1;i<=m;i++)
        {
            cin>>a>>b;
            if(a==1&&k1==0)
            {
                k1 = b;
                id = tot;
            }
            k[tot].x = a;
            k[tot++].y = b;
            k[tot].x = b;
            k[tot++].y = a;
        }
        flag = false;
        vist[id] = true;
        if(dfs(1,k1))
        {
            re[0]  = 1;
            for(int i = 0;i<tot;i++)
                cout<<re[i]<<endl;
        }
    }
}
我的这个dfs跟你的差不多,但也是tle

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator