码迷,mamicode.com
首页 > 其他好文 > 详细

topcoder srm 682 div1 -3

时间:2017-06-13 19:12:53      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:srm   highlight   size   长度   back   amp   mil   public   map   

1、给定一个$n$个节点的无向图。找到一个长度为4的链。$5\leq n \leq 2000$

思路:枚举链的起点,暴力搜索即可。因为假设图中最长链的长度是3,那么搜索的最大复杂度是$O(n^{2})$。

#include <stdio.h>
#include <string.h>
#include <string>
#include <iostream>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <algorithm>
#include <stack>
#include <assert.h>
using namespace std;

const int N=2005;


vector<int > g[N];
int h[N];

int dfs(int u,int pre,int cnt)
{
    if(cnt==5) return 1;
    h[u]=1;
    for(int i=0;i<(int)g[u].size();++i)
    {
        int v=g[u][i];
        if(v!=pre&&!h[v]&&dfs(v,u,cnt+1))
            return 1;
    }
    h[u]=0;
    return 0;
}


class SmilesTheFriendshipUnicorn
{
public:
	string hasFriendshipChain(int n,vector<int> A,vector<int> B)
	{
	    const int m=(int)A.size();

	    for(int i=0;i<m;++i)
        {
            int u=A[i];
            int v=B[i];

            g[u].push_back(v);
            g[v].push_back(u);
        }
        for(int i=0;i<n;++i)
        {
            memset(h,0,sizeof(h));
            if(dfs(i,-1,1)) return "Yay!";
        }

        return ":(";
	}
};

  

topcoder srm 682 div1 -3

标签:srm   highlight   size   长度   back   amp   mil   public   map   

原文地址:http://www.cnblogs.com/jianglangcaijin/p/7002971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!