zoukankan      html  css  js  c++  java
  • USACO3.31Riding the Fences(输出欧拉路径)

    都忘了欧拉路径是什么了。。

    用dfs搜 标记边  刚开始直接从I-N搜 直接超时 2了 先找符合起点和终点的点搜 即度数是奇数

    d单dfs也超了 后来换了个姿势。。

     1 /*
     2     ID: shangca2
     3     LANG: C++
     4     TASK: fence
     5  */
     6 #include <iostream>
     7 #include<cstdio>
     8 #include<cstring>
     9 #include<algorithm>
    10 #include<stdlib.h>
    11 using namespace std;
    12 int w[510][510],n,p[2010],flag,m,de[510],t;
    13 void dfs(int u,int d)
    14 {
    15     for(int v = 1; v <= m ; v++)
    16     {
    17         if(w[u][v])
    18         {
    19             w[u][v]--;
    20             w[v][u]--;
    21             dfs(v,d+1);
    22         }
    23     }
    24     p[t++] = u;
    25     return ;
    26 }
    27 int main()
    28 {
    29     freopen("fence.in","r",stdin);
    30     freopen("fence.out","w",stdout);
    31     int i,u,v,st;
    32     cin>>n;
    33     m = 0;
    34     for(i= 1; i <= n ; i++)
    35     {
    36         scanf("%d%d",&u,&v);
    37         m = max(m,max(u,v));
    38         de[u]++;
    39         de[v]++;
    40         w[u][v]++;
    41         w[v][u]++;
    42     }
    43     int f = 1;
    44     for(i = 1; i <= m ; i++)
    45     {
    46         if(de[i]%2!=0)
    47         {
    48             st = i;
    49             break;
    50         }
    51         if(f&&de[i])
    52         {
    53             f = 0;
    54             st = i;
    55         }
    56     }
    57     dfs(st,1);
    58     for(i = t-1; i >= 0 ; i--)
    59     printf("%d
    ",p[i]);
    60     return 0;
    61 }
    View Code
  • 相关阅读:
    3.30 DOM操作
    3.29 js例题
    3.28 函数
    3.27 数组例题
    Web 条件查询、分页查
    web页面增、删、改
    JDBC事务、下拉框
    JSTL、断点、JavaEE、DBUTils连接池
    jsp、el表达式
    Session技术 、jsp页面
  • 原文地址:https://www.cnblogs.com/shangyu/p/3271509.html
Copyright © 2011-2022 走看看