UVa-OnlineJudge
yofer张耀琦
我喜欢自己开朗的性格
展开
-
Uva - 10562 - Undraw the Trees
直接递归遍历输出就可以,不用建立二叉树,每4行一次递归。输入的方法注意,直接用scanf和cin读取次数T都是直接运行错误,必须用fgets来读取。AC代码:#include #include #include #include #include #include #include #include #include #include #include #includ原创 2015-06-17 15:28:27 · 627 阅读 · 0 评论 -
Uva - 1103 - Ancient Messages
图像被压缩过,所以先解压成01矩阵,把所有的连通块填充颜色,背景色为1,黑色连通块的标号存放在cc中。neighbors是存放白洞的数组,最后根据白洞来判断属于那个字符。AC代码:#include #include #include #include #include #include #include #include #include #include #inclu原创 2015-06-16 15:24:35 · 1021 阅读 · 0 评论 -
Uva - 297 - Quadtrees
给了先序遍历就可以确定整个数,只需要递归的把整个图画出来就可以了,把两个图像画到同一张纸上,画的同时统计黑像素的个数,画完结果就有了。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #inc原创 2015-06-16 12:14:30 · 546 阅读 · 0 评论 -
Uva - 572 - Oil Deposits
图的连通块问题,,DFS深度优先遍历递归找出每个连通块,并标记,注意边界情况的处理。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2015-06-16 12:53:26 · 557 阅读 · 0 评论 -
Uva - 10305 - Ordering Tasks
把小于关系看成有向边,就变成了一个有向图,问题抽象为拓扑排序。结果比较多,所以跑出来的测试数据和给的结果不一样,不过这个正常,也AC了。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #原创 2015-06-17 13:56:02 · 456 阅读 · 0 评论 -
Uva - 699 - The Falling Leaves
Uva又跪了一早晨,每次都是西班牙时间凌晨或者晚上,我们这边早晨下午的时候跪。。。最近两天跪的太频繁了点。。。输入是先序输入,所以实现的时候可以递归输入数据,输入的同时累加位置上的权值和。AC代码:#include #include #include #include #include #include #include #include #include #incl原创 2015-06-16 11:01:19 · 470 阅读 · 0 评论 -
Uva - 816 - Abbott's Revenge
这个迷宫问题还是挺好玩的,多加了一个转向的问题,有些路口不同的进入方式会有不同的转向限制,这个会比较麻烦一点,所以定义结点结构体的时候需要加一个朝向dir。总体来说是一道BFS求最短路的问题。最后打印最短路的时候递归可能会导致函数栈溢出,改用循环,用vector保存路径。AC代码:#include #include #include #include #include #incl原创 2015-06-16 23:24:50 · 1546 阅读 · 1 评论 -
Uva - 10129 - Play on Words
把单词收尾字母当作每条边的起点和终点,就抽象为一个有向图,判断有向图是否存在欧拉路。用到图论的知识,有向图最多只能有两个点的入度不等于出度,而且起点必须是出度恰好比入度大1,终点入度比出度大1,并且有向图的无向图是连通的。判断连通性用dfs方法判断。AC代码:#include #include #include #include #include #include #inclu原创 2015-06-17 14:54:16 · 412 阅读 · 0 评论 -
Uva - 10976 - Fractions Again?!
It is easy to see that for every fraction in the form (k > 0), we can always find two positive integers x and y, x ≥ y, such that: .Now our question is: can you write a program that counts ho原创 2015-06-17 22:08:57 · 736 阅读 · 0 评论 -
Uva - 1572 - Self-Assembly
把A+~Z+,A-~Z-看成52个点,正方形看成边,就得到一个有向图,当存在有向图的时候有解。和10129有点像,做拓扑排序即可。吐槽:刚开始把循环输入用cin,读取字符串用了scanf,直接WA了,要用还是用成一致的都cin,或者都scanf,这样就没问题了。AC代码:#include #include #include #include #include #include原创 2015-06-18 11:25:12 · 742 阅读 · 0 评论 -
Uva - 725 - Division
暴力求解,枚举fghij, 然后乘n之后把abcde加上组成一个字符串,如果字符串长度超过10,退出循环。把字符串排序之后应该和字符0123456789一一对应,就成功了。输入的时候注意要求两行输出有个空行,不要把空行在输出结果之后就打印,要在输入之前加一个判断,输出空行,这样最后输入0的时候就不会多打印一个空行。因为这个WA了两次,哭~~~AC代码:#include #includ原创 2015-06-17 19:59:53 · 706 阅读 · 0 评论 -
Uva - 11059 - Maximum Product
Given a sequence of integers S = {S1, S2, ..., Sn}, you should determine what is the value of the maximum positive product involving consecutive terms of S. If you cannot find a positive sequence, y原创 2015-06-17 21:23:56 · 628 阅读 · 0 评论 -
Uva - 673 - Parentheses Balance
用栈就搞定了,忘了刚开始会出现 )) ,]] 这种情况,没有加栈非空的条件,结果RE了好几次,智商太拙计。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2015-06-18 19:05:50 · 632 阅读 · 0 评论 -
Uva - 1599 - Ideal Path
先倒着BFS,找到每个结点i到重点最短距离d[i],然后直接起点开始BFS,如果有多种走法,选颜色字典序最小的走。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #inc原创 2015-06-18 14:25:15 · 984 阅读 · 0 评论 -
Uva - 712 - S-Trees
第一次不小心用printf输出WA了,还是要把输入输出统一起来,切记切记。题目不难,按路径算出叶子结点,最后统一输出就行了。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #include原创 2015-06-18 19:38:19 · 623 阅读 · 0 评论 -
Uva - 11853 - Paintball
先判断是否有解,从上到下dfs判断连通性,如果有从顶部到底部连通图,则无解。再判断最北的进出位置,从上边界开始遍历,沿途检查与边界相交的圆。这些圆的左边界的交点中最靠南边的一个就是所有的最北进入位置,和右边的最南交点就是所求的最北离开位置。AC代码:#include #include #include #include #include #include #includ原创 2015-06-18 16:10:08 · 629 阅读 · 0 评论 -
Uva - 536 - Tree Recovery
把字母的ASCII码减去A的ASCII码,再加1的正整数当作结点编号,根据前序遍历和中序遍历建二叉树,然后打印后序遍历。刚开始没有加1,怎么都少输出结果,最后发现A的编号是0,直接递归终止了,所以这里一定要注意。。。AC代码:#include #include #include #include #include #include #include #include #原创 2015-06-18 20:55:50 · 743 阅读 · 0 评论 -
Uva - 439 - Knight Moves
、bfs求最短路,经典数据结构题目。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using原创 2015-06-19 09:26:14 · 488 阅读 · 0 评论 -
Uva - 1600 - Patrol Robot
dfs和bfs都能做,我用dfs遍历了,dfs应该要快,我AC了之后找了找网上bfs写的,时间是我的9倍以上,都比较慢,所以用dfs还是很不错的,注意递归的条件。AC代码:#include #include #include #include #include #include #include #include #include #include #include原创 2015-06-19 13:54:38 · 485 阅读 · 0 评论 -
Uva - 506 - System Dependencies
模拟题,注意显示安装和隐式安装,显示安装的必须显示显示删除。把名字转化为整数维护。其他注意都注释了。输入稍微多一下,题目不是很麻烦。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #incl原创 2015-06-18 15:14:06 · 904 阅读 · 0 评论 -
Uva - 11134 - Fabled Rooks
Problem F: Fabled RooksWe would like to place n rooks, 1 ≤ n ≤ 5000, on a n×n board subject to the following restrictionsThe i-th rook can only be placed within the rectangle given by its le原创 2015-06-21 15:11:34 · 706 阅读 · 0 评论 -
Uva - 1152 - 4 Values whose Sum is 0
虽然时间给了9秒,但显然四重循环直接就会超时,太慢了。。。先枚举前a和b,然后在后两个中找a+b的形式。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2015-06-21 13:33:59 · 739 阅读 · 0 评论 -
Uva - 810 - A Dicey Problem
根据状态进行bfs,手动打表维护骰子滚动。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using n原创 2015-06-20 17:06:09 · 747 阅读 · 0 评论 -
Uva - 10410 - Tree Reconstruction
先搞清楚这个数不一定是二叉树,然后把树分段,把所有子树用队列存放。搞清楚BFS和DFS的关系就很明确了。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2015-06-20 15:56:39 · 705 阅读 · 0 评论 -
Uva - 1605 - Building for UN
这个题限制非常少,解得答案有点多,直接用了比较简单的解法,对于任意合法n,都是两层,每层都是n*n的,第 i 行全是国家 i ,第二层第 j 列全是国家 j 。AC代码:#include #include #include #include #include #include #include #include #include #include #include #原创 2015-06-21 13:02:52 · 585 阅读 · 0 评论 -
Uva - 714 - Copying Books
把问题转换为把输入序列划分成m个连续的子序列,s.t 所有的S(i)均不超过x。然后二分最小值。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #i原创 2015-06-21 22:25:47 · 575 阅读 · 0 评论 -
Uva - 1149 - Bin Packing
贪心直接搞定,最近这些算法设计的题目总体都没有多少人提交过,都不超过100人的样子。。。数学还是很多人的一道坎AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #inclu原创 2015-06-21 23:29:24 · 796 阅读 · 0 评论 -
Uva - 246 - 10-20-30
A simple solitaire card game called 10-20-30 uses a standard deck of 52 playing cards in which suit is irrelevant. The value of a face card (king, queen, jack) is 10. The value of an ace is one. The v原创 2015-06-20 14:27:51 · 555 阅读 · 0 评论 -
Uva - 10954 - Add All
优先队列,比较简单。注意使用值小的优先级高的优先队列,声明方式priority_queue, greater > q;如果只加头文件queue,会报错greater不是模版,还需要加头文件functional。AC代码:#include #include #include #include #include #include #include #include原创 2015-06-21 22:59:31 · 547 阅读 · 0 评论 -
Uva - 804 - Petri Net Simulation
Input: petri.in A Petri net is a computational model used to illustrate concurrent activity. Each Petri net contains some number of places (represented by circles), transitions (represented by black r原创 2015-06-19 17:14:04 · 1575 阅读 · 0 评论 -
Uva - 127 - "Accordian" Patience
模拟题,调制了一晚上,略伤心,算法速度比较慢。。。用了1秒多,比较直观的做法。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2015-06-20 01:32:48 · 564 阅读 · 0 评论 -
Uva - 11093 - Just Finish it up
Along a circular track, there are N gas stations, which are numbered clockwise from 1 up to N. At station i, there are pi gallons of petrol available. To race from station i to its clockwise neighb原创 2015-06-22 11:33:31 · 693 阅读 · 0 评论 -
Uva - 12166 - Equilibrium Mobile
刚开始想用结论:若最终天平平衡,则在同一个深度的所有结点,无论它的祖先结点是什么,重量都应该相同。并且上一层的重量应该是下一层的2倍。证明其实是显然的。。之后只需要把所有的结点分块,然后取结点最多的块,其余的结点都要修改,就是答案。但是代码并不是很简洁,后来参考别人的做法,知道可以反过来想:要使得改动的数量最少,那么就至少有一个秤砣不变,然后以这个秤砣为基准来调整整个天平。原创 2015-06-19 15:43:46 · 661 阅读 · 0 评论 -
Uva - 120 - Stacks of Flapjacks
选择排序,从大到小顺序一次排列,每次先把第 i 大的翻到最上面,然后在翻到正确的位置。AC代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #includ原创 2015-06-21 10:41:17 · 528 阅读 · 0 评论 -
Uva - 11054 - Wine trading in Gergovia
As you may know from the comic "Asterix and the Chieftain's Shield", Gergovia consists of one street, and every inhabitant of the city is a wine salesman. You wonder how this economy works? Simple eno原创 2015-06-21 15:41:15 · 597 阅读 · 0 评论 -
Uva - 12627 - Erratic Expansion
找到递推公式,题目就引刃而解了。数学公式博文没办法写,就写在了word上,切过来了:用 f 或者 g 都能求出,我两个方法都试了,结果用 g 要比 f 快了近一倍,原本以为 f 会快些,可能是因为往上走红气球天多的缘故。AC代码:#include #include #include #include #include #include #include #incl原创 2015-06-22 10:50:32 · 1619 阅读 · 0 评论 -
Uva - 11572 - Unique Snowflakes
从左往右延伸,用一个set存储当前序列,向右延伸的时候如果元素已经在set中存在,则增大左边界;如果不存在,则把新增右边界的元素放到set中。AC代码:#include #include #include #include #include #include #include #include #include #include #include原创 2015-06-21 16:50:21 · 606 阅读 · 0 评论 -
Uva - 1607 - Gates
题目理解麻烦,估计提交量少(总共只有32个人。。。)也是因为题目比较麻烦,看起来像物理题,实际理解了还可以。整个电路的功能就4种,先判断x=0和x=1的输出是否相同,吐过相同,而整个电路是常熟,随便输出;如果不同,,而二分1的个数继续测试。AC代码:#include #include #include #include #include #include #include #in原创 2015-06-22 14:37:51 · 973 阅读 · 0 评论 -
Uva - 12174 - Shuffle
用滑动窗口的思想,用一个数组保存每个数在窗口中出现的次数。再用一个变量记录在窗口中恰好出现一次的的数的个数,这样可以枚举所有可能的答案,判断它所对应的所有串口,当且仅当所有的串口均满足要求时这个答案可行。AC代码:#include #include #include #include #include #include #include #include #includ原创 2015-06-22 16:00:34 · 650 阅读 · 0 评论 -
UVa - 1611 - Crane
从左到右,依次把一个个数放到位。把一个数放到正确的位置,观察发现最多两步假设操作到第i个位置,而i这个数刚好在pos这个位置上,现在就要判断一下能否直接将pos上的i经过操作调到i这个位置上如果 i + (pos - i) * 2 - 1 在上面条件不成立的情况下,又分为两种情况一种是pos和i的距离是奇数的情况:那么就直接将[i,pos]这个区间的值进行交换即可另一种是距离为原创 2015-06-24 00:41:45 · 1030 阅读 · 0 评论