题意:

给你一个无向图,找最长路.

俩份代码,感觉map[][]简单易懂啊

#include<stdio.h>
#include<iostream>
#include<sstream>
#include<queue>
#include<map>
#include<memory.h>
#include <math.h>
#include<time.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;
#define N 26
int n, m;
int mp = -;
struct Edge
{
int num;
int s;
int e;
}; int nn[N][N];
int ni[N];
Edge edges[N];
int vis[N];
int dfs(int cn, int cur)
{
for(int i = ; i < ni[cn]; i++)
{
if(vis[nn[cn][i]])
continue;
Edge edge = edges[nn[cn][i]];
int e = edge.e == cn ? edge.s : edge.e;
vis[nn[cn][i]] = ;
dfs(e, cur + );
vis[nn[cn][i]] = ;
}
mp = mp < cur ? cur : mp;
return cur;
}
int main(const int argc, char** argv)
{
//freopen("d:\\1.txt", "r", stdin);
while (cin >> n >> m && (n && m))
{
memset(vis, , sizeof(vis));
memset(nn, , sizeof(nn));
memset(ni, , sizeof(ni));
for(int i = ; i < m; i++)
{
Edge edge;
edge.num = i;
cin >> edge.s >> edge.e;
edges[i] = edge;
nn[edge.s][ni[edge.s]++] = i;
nn[edge.e][ni[edge.e]++] = i;
}
for(int i = ; i < n; i++)
{
dfs(i, );
}
cout << mp << endl;
mp = ;
}
return ;
}
#include<stdio.h>
#include<iostream>
#include<sstream>
#include<queue>
#include<map>
#include<memory.h>
#include <math.h>
#include<time.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;
#define N 30
int n, m;
int mp = -; int nn[N][N];
int dfs(int cn, int cur)
{
for(int i = ; i < n; i++)
{
if(nn[cn][i])
{
nn[cn][i]--;
nn[i][cn]--;
dfs(i, cur + );
nn[cn][i]++;
nn[i][cn]++;
} }
mp = mp < cur ? cur : mp;
return cur;
}
int main(const int argc, char** argv)
{
//freopen("d:\\1.txt", "r", stdin);
while (cin >> n >> m )
{
if(n==&&m==)
return ;
memset(nn, , sizeof(nn));
mp = ;
int s, e;
for(int i = ; i < m; i++)
{
cin >> s >> e;
nn[s][e]++;
nn[e][s]++;
}
for(int i = ; i < n; i++)
{
dfs(i, );
}
cout << mp << endl;
}
return ;
}

uva-539-枚举的更多相关文章

  1. UVa 12169 (枚举+扩展欧几里得) Disgruntled Judge

    题意: 给出四个数T, a, b, x1,按公式生成序列 xi = (a*xi-1 + b) % 10001 (2 ≤ i ≤ 2T) 给出T和奇数项xi,输出偶数项xi 分析: 最简单的办法就是直接 ...

  2. UVa 140 (枚举排列) Bandwidth

    题意较复杂,请参见原题=_=|| 没什么好说的,直接枚举每个排列就好了,然后记录最小带宽,以及对应的最佳排列. STL里的next_permutation函数真是好用. 比较蛋疼的就是题目的输入了.. ...

  3. UVa 1151 (枚举 + MST) Buy or Build

    题意: 平面上有n个点,现在要把它们全部连通起来.现在有q个套餐,如果购买了第i个套餐,则这个套餐中的点全部连通起来.也可以自己单独地建一条边,费用为两点欧几里得距离的平方.求使所有点连通的最小费用. ...

  4. Even Parity UVA - 11464 (枚举)

    从来没有觉得枚举有多费脑子的.但是这道题还是很香的. 思路:就是非常简单的枚举啦.   从一般的枚举开始考虑.一般的做法就是在所有的格子中有两种状态1, 0. 而一共有225个格子,所有一共要枚举的情 ...

  5. UVa 1354 枚举子集 Mobile Computing

    只要枚举左右两个子天平砝码的集合,我们就能算出左右两个悬挂点到根悬挂点的距离. 但是题中要求找尽量宽的天平但是不能超过房间的宽度,想不到要怎样记录结果. 参考别人代码,用了一个结构体的vector,保 ...

  6. UVA 539 The Settlers of Catan dfs找最长链

    题意:画边求最长链,边不能重复数点可以. 很水,用暴力的dfs即可,因为数据不大. 本来以为可以用floyd进行dp的,后来想想好像不能在有回路上的图跑...于是没去做. #include <c ...

  7. Uva 11754(枚举+中国剩余定理)

    #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #inclu ...

  8. 10年省赛-Greatest Number (二分+暴力) + 12年省赛-Pick apples(DP) + UVA 12325(暴力-2次枚举)

    题意:给你n个数,在里面取4个数,可以重复取数,使和不超过M,求能得到的最大的数是多少: 思路:比赛时,和之前的一个题目很像,一直以为是体积为4(最多选择四次)的完全背包,结果并不是,两两求和,然后二 ...

  9. UVa 10465 Homer Simpson (枚举)

    10465 - Homer Simpson Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onli ...

  10. uva 11825 Hackers&#39; Crackdown (状压dp,子集枚举)

    题目链接:uva 11825 题意: 你是一个黑客,侵入了n台计算机(每台计算机有同样的n种服务),对每台计算机,你能够选择终止一项服务,则他与其相邻的这项服务都终止.你的目标是让很多其它的服务瘫痪( ...

随机推荐

  1. CodeForces - 1073E :Segment Sum (数位DP)

    You are given two integers l l and r r (l≤r l≤r ). Your task is to calculate the sum of numbers from ...

  2. DOS命令下使用sqlite3 命令中文乱码的解决办法

    windows cmd窗口无法显示中文,不一定数据库中存储的就是乱码——多数情况只是显示问题,可以通过以下方式解决: 1.退出dos 或者重新开启在CMD窗口,输下:chcp 65001 然后回车确定 ...

  3. 【BZOJ1702】[usaco2007margold]队列平衡

    原来蛤习线性探测的时候要每次加一个稍大一点的数而不是每次+1……连蛤习都不会写,我tmd是有多弱 原题: N(1<=N<=100000)头牛,一共K(1<=K<=30)种特色, ...

  4. day2-Iptables笔记

    1.   iptables防火墙简介 Iptables也叫netfilter是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入.流出.流经服务器的数 ...

  5. 剑指offer-第一个只出现一次的字符-字符串和数组

    用到的算法都是像冒泡排序,直接选择排序,插入排序 每趟进行处理,这个趟是没有什么实际意义的 变量j一次从头走到尾进行一次循环枚举遍历扫描 一.题目:第一个只出现一次的字符 题目:在字符串中找出第一个只 ...

  6. js 命名空间

        yui的命名空间和继承机制 var YAHOO = window.YAHOO || {};YAHOO.namespace = function(ns) {    if (!ns || !ns. ...

  7. [DL] 基于theano.tensor.dot的逻辑回归代码中的SGD部分的疑问探幽

    在Hinton的教程中, 使用Python的theano库搭建的CNN是其中重要一环, 而其中的所谓的SGD - stochastic gradient descend算法又是如何实现的呢? 看下面源 ...

  8. Linux 命令英文全称

    Linux 命令英文全称 linux 命令 英文全称 sudo superuser do su swith user df Disk free,空余硬盘 du Disk usage,硬盘使用率 noh ...

  9. 修改 input 框输入光标的样式

    input, textarea { font-size: 24px; padding: 10px; color: red; text-shadow: 0px 0px 0px #000; -webkit ...

  10. php中is_null,empty,isset,unset 的区别详细介绍

    is_null, empty, isset, unset 我们先来看看这4个函数的描述. isset 判断变量是否已存在(配置)unset 把变量删除(释放)掉empty 判断变量是否为空is_nul ...