fence, Eulerian Tours problem

任腾 发表于 2007-08-08 06:36:50

    1.  /*
    2.  TASK:fence
    3.  LANG:JAVA
    4.  ID:tobais1
    5.  */
    6.  
    7.  import java.io.*;
    8.  import java.util.*;
    9.  
   10.  class fence{
   11.      static int[] stack=new int[501],d=new int[1300];
   12.      static int n=0,m,dn=0;
   13.      static int[][] a=new int[501][501];
   14.  
   15.      static void solve(int now){
   16.          for (int i=1;i<=n;i++){
   17.              if (a[now][i]>0){
   18.                  a[now][i]--;
   19.                  a[i][now]--;
   20.                  solve(i);
   21.              }
   22.          }
   23.          d[dn++]=now;
   24.      }
   25.      public static void main(String[] args)throws IOException{
   26.          Scanner fin=new Scanner(new File("fence.in"));
   27.          PrintWriter fout=new PrintWriter(new File("fence.out"));
   28.          int[] dd=new int[501];
   29.          m=fin.nextInt();
   30.          int minv=10000;
   31.          for (int i=0;i<m;i++){
   32.              int x=fin.nextInt(),y=fin.nextInt();
   33.              a[x][y]++;
   34.              a[y][x]++;
   35.              dd[x]++;dd[y]++;
   36.              if (x<minv) minv=x;
   37.              if (y<minv) minv=y;
   38.              if (x>n) n=x;
   39.              if (y>n) n=y;
   40.          }
   41.          for (int i=1;i<=n;i++)
   42.              if (dd[i]%2==1) {solve(i);break;}
   43.          if (dn==0) solve(minv);
   44.          for (int i=dn-1;i>=0;i--) fout.println(d[i]);
   45.          fout.close();
   46.      }
   47.  }
关键词(Tag): usaco algorithm code tours eulerian


收藏: QQ书签 del.icio.us 订阅: Google 抓虾

最新评论

发表评论

* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 
 

分类小组论坛
杂谈, 娱乐、八卦, 文学、艺术, 体育, 旅游、同城, 象牙塔, 情感, 时尚、生活, 星座, 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定