codeforces 24A Ring road DFS
2013-01-28 23:16
369 查看
题意:一个国家中的城市是像一个环一样的连起来的,由于马路改成单行道,连通性收到破坏。求最节省的修改方案,是每个城市直接都有通路。
做法:以城市1 为根节点,一次遍历左边,一次遍历右边,代价为sum(gra[i][j],tag[i][j]),gra记录改造费用,tag记录是这么走否需要改造。
做法:以城市1 为根节点,一次遍历左边,一次遍历右边,代价为sum(gra[i][j],tag[i][j]),gra记录改造费用,tag记录是这么走否需要改造。
#include <iostream> #include <cstdio> #include <cstring> #define eps 1e8 #define LMT 102 using namespace std; int n,ans,gra[LMT][LMT],tag[LMT][LMT]; void dfs(int u,int pre,int cost,int num) { if(n<num) { cost+=tag[u][1]*gra[u][1]; if(ans>cost)ans=cost; return ; } for(int j=1;j<=n;j++) if(gra[u][j]&&j!=pre) dfs(j,u,cost+tag[u][j]*gra[u][j],num+1); } int main() { scanf("%d",&n);ans=eps; for(int i=1;i<=n;i++) { int u,v,c; scanf("%d%d%d",&u,&v,&c); gra[u][v]=gra[v][u]=c; tag[v][u]=1; } for(int j=1;j<=n;j++) if(gra[1][j])dfs(j,1,tag[1][j]*gra[1][j],2); printf("%d\n",ans); return 0; }
相关文章推荐
- CodeForces 24A-Ring road
- CodeForces 24A Ring road (简单题)
- CodeForces 24A Ring road
- codeforces 24A Ring road (dfs)
- Codeforces-855B - Marvolo Gaunt's Ring - DP
- Codeforces 855 B Marvolo Gaunt's Ring
- Codeforces 24A
- dfs 遍历 codeforces 24A
- Codeforces 855 B Marvolo Gaunt's Ring(dp)
- Codeforces Beta Round #27 (Codeforces format, Div. 2) D Ring Road 2(二分图染色版)
- CodeForces-339B-Xenia and Ringroad
- Codeforces 445B DZY Loves Chemistry
- codeforces 219C C. Color Stripe(dp)
- CodeForces 451E Devu and Flowers(容斥原理+组合数学+状态压缩)
- Codeforces 90A-Cableway
- Codeforces 799 D. Field expansion
- 【codeforces 798A】Mike and palindrome
- Codeforces 444C DZY Loves Colors(线段树)
- codeforces 161D D. Distance in Tree(树形dp)
- CodeForces - 420A (字符对称问题)