2014年1月25日

Pots

摘要: poj3414:http://poj.org/problem?id=3414题意:给你两个罐子的体积,然后让你只用这两个罐子量出给定k体积的水。题解:这里可以把两个罐子看成是一个二维的图,然后体积的水就是图中其中一个坐标是k的点。可以直接BFS,每次操作就相当于从当前的点向外扩展,并且记录当前的路径,即可。其中可以用1,2,3,4,5,6六个数字来分别对应六种操作,然后用一个int类型的数组记录路径就可以。#include#include#include#include#includeusing namespace std;struct Node{ int counts1;//第一个pot中. 阅读全文

posted @ 2014-01-25 23:04 天依蓝 阅读(269) 评论(0) 推荐(0) 编辑

Network Saboteur(Rand版)

摘要: poj2531:http://poj.org/problem?id=2531题意:给你一个图,图中点之间会有边权,现在问题是把图分成两部分,使得两部分之间边权之和最大。题解:随机算法#include#include#include#includeusing namespace std;int n;int g[30][30];int vis[30];const int Timelimit=2000;//时间限制是2000int main(){ scanf("%d",&n); for(int i=1;i>g[i][j]; memset(vis,0,sizeof(v 阅读全文

posted @ 2014-01-25 11:00 天依蓝 阅读(310) 评论(0) 推荐(0) 编辑

Network Saboteur

摘要: poj2531:http://poj.org/problem?id=2531题意:给你一个图,图中点之间会有边权,现在问题是把图分成两部分,使得两部分之间边权之和最大。题解:一开始比知道怎么办,想用搜索,但是20的范围,觉得范围有点大,所以没敢打,最后还是试了试结果竟然过了。#include#include#include#includeusing namespace std;int a[24],b[24];//记录图中的两部分int num1,num2;int counts,minn;int vis[24];int n;int g[24][24];void DFS(int x){//对于一个 阅读全文

posted @ 2014-01-25 10:28 天依蓝 阅读(440) 评论(0) 推荐(0) 编辑

导航