06 2012 档案

摘要:这是一道求有没有负环的题,用到bellman算法;这里要注意的是路是双向的;View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>using namespace std;class Weight{public: int S,E,T;}edge[5024];bool Bell_man( int count, int N ){ int dis[1024] = {0},flag = 0; for( int 阅读全文
posted @ 2012-06-30 20:47 wutaoKeen 阅读(135) 评论(0) 推荐(0)
摘要:题意:就是货币兑换;问你经过几次兑换时候比原来的钱数是否多;N -货币种类, M - 兑换的方式, S -Nick拥有的币种 ,V - Nick该种币种的数值数;注意:货币的兑换可以循环使用多次;View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>using namespace std;class Node{public: int num; double rate,com,sum; Node *ne 阅读全文
posted @ 2012-06-30 16:37 wutaoKeen 阅读(167) 评论(0) 推荐(0)
摘要:这个题是http://poj.org/problem?id=2996的反过来求的;这个题注意的就是建图;View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<cstring>#include<vector>using namespace std;void Get_map( char 阅读全文
posted @ 2012-06-30 11:02 wutaoKeen 阅读(127) 评论(0) 推荐(0)
摘要:这是一道模拟题:要你找出黑白棋子的位置;注意要求;View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<vector>using namespace std;void Research1( char c , char map[][35] ){ int i , j,flag=1; for( i 阅读全文
posted @ 2012-06-30 09:27 wutaoKeen 阅读(136) 评论(0) 推荐(0)
摘要:一道简单的模拟题:View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<vector>using namespace std;int judge( char map[][124], int visit[][124],int x ,int y ,int n , int m){ if( x < 阅读全文
posted @ 2012-06-29 21:42 wutaoKeen 阅读(135) 评论(0) 推荐(0)
摘要:只是一道模拟题:题意:题目就是给定你N个机器人在规定的范围内进行操作,问你是否走出范围或者是否相撞;(如果有多个这样的情况输出最开始的那种)View Code View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include<vector>using namespac 阅读全文
posted @ 2012-06-29 20:23 wutaoKeen 阅读(153) 评论(0) 推荐(0)
摘要:题目意思:P-sequence->代表右括号左边有几个左括号;W-sequence->代表这对括号(包括这对括号)里面有几个左括号;思路:首先对数字进行括号还原;在进行括号匹配;View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include<vector> 阅读全文
posted @ 2012-06-29 17:20 wutaoKeen 阅读(233) 评论(0) 推荐(0)
摘要:题意:输入由p、q、r、s、t、K、A、N、C、E共10个字母组成的逻辑表达式,其中p、q、r、s、t的值为1(true)或0(false),即逻辑变量;K、A、N、C、E为逻辑运算符,K --> and: x && yA --> or: x || yN --> not : !xC --> implies : (!x)||yE --> equals : x==y问这个逻辑表达式是否为永真式。PS:输入格式保证是合法的这是道题感觉是对计算器进行模拟;解题思路:p, q, r, s, t不同的取值组合共32种情况,枚举不同取值组合代入逻辑表达式WFF进 阅读全文
posted @ 2012-06-29 16:37 wutaoKeen 阅读(171) 评论(0) 推荐(0)
摘要:题意:每个月会给出一个财务报告:赢利或者亏空 如果赢利则赢利s,如果亏空则亏空d(12个月都一样,只有赢利s或者亏空d两种情况)每五个月也会给出一个报告(1~5 ,2~6 。。。)一年一共有8次这样的报告,已知这8次都报告亏空问整年情况:如果亏空则输出Deficit,如果赢利,输出整年可能赢利的最大值;解析:因为每5个月的报账都为吃亏,所有连气儿的5个月里至少有1个月为吃亏,则可能产生最优解的景象为如下4种 1 2 3 4 5 6 7 8 9 10 11 12 s s s s d s s s s d s s //每5个月里只有1个月吃亏 s s s d d s s s d d s s //每5 阅读全文
posted @ 2012-06-29 10:33 wutaoKeen 阅读(145) 评论(0) 推荐(0)
摘要:这个题用double就能过;View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include<vector>using namespace std;int main( ){ double k,p; while( scanf( "%lf %lf",& 阅读全文
posted @ 2012-06-29 07:43 wutaoKeen 阅读(131) 评论(0) 推荐(0)
摘要:这个题WA了几次,后来改成从左往右计算就AC了,至于为什么我只能从精度上解释,算圆心的如果是加比减要好,因为sqrt丢失精度,再去减就会丢失更大;思路:我的跟你一些大牛的思路不一样,好多大牛都是以岛屿为圆心(那种算法比较简单),我刚开始没有这样写因为是自己想的,我是先求出圆心的位置(圆心),然后对圆心进行排序;我们再把圆从左边往右边移,移到左边的点在圆上,这时在寻找在圆上的点;View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#inclu 阅读全文
posted @ 2012-06-28 22:10 wutaoKeen 阅读(180) 评论(0) 推荐(0)
摘要:这个题与poj 1753的思想是一样的这里就不解释了;这里有点问题就是当打不开怎么办该输出什么????View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<vector>using namespace std;class Node{ public: int x, y; };Node node[ 阅读全文
posted @ 2012-06-28 11:09 wutaoKeen 阅读(132) 评论(0) 推荐(0)
摘要:这个题是一道枚举题;这个题最多只要翻转16,因为我们知道一个棋子翻转2次就到了原来的样子,有些人就会问我翻转了他的周围棋子再去翻转他一次,应该又改变了,其实不是的,因为我们在翻转时,我们原来的那一次并没用,因为都是由周围的翻转所影响的;因此,最多只能翻转16次,也就是每个棋子只有翻转与不翻转的这两种情况及(0/1);下面我们来讲一下策略;如果我们想把第一行翻转成白色,那么第一行黑色的棋子的下方一定受影响;因此第二行受第一行的约束,因此第三、四行也受约束;因此我们可以一行行的暴力过去;View Code #include<iostream>#include<cstdio> 阅读全文
posted @ 2012-06-28 09:17 wutaoKeen 阅读(148) 评论(0) 推荐(0)