12 2012 档案
UVA10305- Ordering Tasks
摘要:思路是老师上课讲的。先找入度为0的点,然后删去该点以及从该点出去的边,然后再找入度为0的点,直到找不到为止:WA了3次主要是因为把序号为1 的点当作了第一个入度为0的点。这在题目中是没有描述的,所以第一个也得找。代码如下:#include #include using namespace std; const int maxn = 100+10; int topo[maxn][maxn], visit[maxn], m, n, flag=0; int init()//输入边 { for(int i = 0; i >a>>b; if(a!=b) top... 阅读全文
posted @ 2012-12-17 22:47 Primo... 阅读(125) 评论(0) 推荐(0)
UVA10596- Morning Walk
摘要:开始的时候我钻了牛角尖,总是想用dfs()找到一条欧拉回路,憋了好几天也没憋出来,就只好屈从了欧拉定理,代码如下,不算高效的代码:#include #include using namespace std; int n, m, start = 0, in[250][250], visit[250], du[250]; int input() { memset(in,0,sizeof(in)); memset(visit,0,sizeof(visit)); memset(du,0,sizeof(du)); cin>>m; int a, b, _m=m;... 阅读全文
posted @ 2012-12-17 17:16 Primo... 阅读(134) 评论(0) 推荐(0)
UVA10004- Bicoloring(二染色)
摘要:用的深搜,dfs();挨个点染色,有边的两点染不用的颜色,分别用1,-1表示,同时判断跟这个点有联系的点是否有相同的颜色。代码不长:#include #include using namespace std; int n, in[250][250], visit[250]; int input() { memset(in,0,sizeof(in)); memset(visit,0,sizeof(visit)); int t; cin>>t; while(t--) { int a, b; cin>>a>>b; ... 阅读全文
posted @ 2012-12-16 16:35 Primo... 阅读(128) 评论(0) 推荐(0)
UVA10167- Birthday Cake(生日蛋糕)
摘要:开始的时候看到人家交的代码有8ms 过的,以为是用的新算法,而不是耗时的暴力,但是经过层层优化,我发现暴力并不是想像中的那么耗时阿,虽然没有达到8ms 的境界,但是我的代码着实优化了不少,时间有限,更省时的代码待以后有时间再讨论,暂且贴下目前的代码。代码如下;#include using namespace std; int n, xy[150][2]; int bao (int a, int b) { int count = 0; for(int i = 0; i 0)count++; else if(xy[i][0]*a+xy[i][1]*b==0)ret... 阅读全文
posted @ 2012-12-14 19:51 Primo... 阅读(196) 评论(0) 推荐(0)
UVA10557-XYZZY
摘要:就是找正环,再找路径,详细的待以后再讨论先贴上代码:dfs+dfs:#include #include using namespace std; struct Room{ int value,count; int list[100]; }; Room room[150]; int n, value[150], visit[150] = {0, 0, 0};; void input() { for(int i = 1; i >room[i].value>>room[i].count; int len = room[i].count; f... 阅读全文
posted @ 2012-12-11 00:23 Primo... 阅读(215) 评论(0) 推荐(0)