UVA 12380 Glimmr in Distress --DFS】的更多相关文章

题意:给你一串数字序列,只包含0,1,2,一路扫描过去,遇到2则新开一个2x2的矩阵,然后如果扫到0或1就将其填入矩阵,注意不能四个方格全是0或者全是1,那样跟一个方格没区别,所以21111这种是不可能的,问根据串的数字先后顺序可不可能构造一个矩阵出来,正好把数字都填完,如果可以,输出该矩阵的大小,2^n*2^n的形式输出. 分析:其实就是递归求解,首先判断第一个数是不是2,不是则说明没有分块,所以长度必须是1,数字可以为0或1,如果是则dfs,每次遇到2,则dfs下一层,并从下一个下标开始,用…
UVA.297 Quadtrees (四分树 DFS) 题意分析 将一个正方形像素分成4个小的正方形,接着根据字符序列来判断是否继续分成小的正方形表示像素块.字符表示规则是: p表示这个像素块继续分解,e表示当前方格没有像素,即为空,f表示当前像素块为满,黑色. 最后求解两个数合并后的像素块的数量是多少. 最大的像素块数量是1024个. 采用数组模拟,根据所给的字符串,递归建树.字符数组的建四分树的技巧是(k << 2) + i i∈[-2,1]. 这样就可以充分利用数组的空间. 两树合并的技…
UVA 572 -- Oil Deposits(DFS求连通块) 图也有DFS和BFS遍历,由于DFS更好写,所以一般用DFS寻找连通块. 下述代码用一个二重循环来找到当前格子的相邻8个格子,也可用常量数组或者写8条DFS调用. 下述算法是:种子填充(floodfill) 两种连通区域 四连通区域:从区域内一点出发,可通过上.下.左.右四个方向的移动组合,在不越出区域的前提下,能到达区域内的任意像素 八连通区域:从区域内每一像素出发,可通过八个方向,即上.下.左.右.左上.右上.左下.右下移动的…
题目链接:Uva 552 思路分析:时间限制为3s,数据较小,使用深度搜索查找所有的解. 代码如下: #include <iostream> #include <string.h> using namespace std; ; int n; int A[MAX_N], vis[MAX_N]; int is_prime( int n ) { ) return true; ; i * i <= n; ++i ) ) return false; return true; } voi…
option=com_onlinejudge&Itemid=8&page=show_problem&category=109&problem=1064&mosmsg=Submission+received+with+ID+13620550">题目:uva :10123 - No Tipping 题目大意:给出l, m, n 分别表示 长度为l 的杠杆, 重量为 m, 有n个物体放在上方.问每次从上面挑选一个物品移除,能否使杠杆继续平衡.这个过程中都能…
UVA 11748 - Rigging Elections option=com_onlinejudge&Itemid=8&page=show_problem&category=599&problem=2848&mosmsg=Submission+received+with+ID+14103876" target="_blank" style="">题目链接 题意:n个人选举,给出m个人的投票人对于每一个人的优…
额,刘汝佳小白里面的配套题目. 题目求二叉树同垂直线上结点值的和. 可以用二叉树做,挺水的其实. 尝试使用dfs实现了:开一个大点的数组,根节点为最中间那点,然后读取时就可以进行和的计算了. 代码: #include <cstdio> #include <cstring> const int maxn = 10000; int n = 500, tmp, num = 1; int cnt[maxn] = {0}; bool input(void) { scanf("%d&…
题意:求连通块个数. 分析:dfs. #include<cstdio> #include<cstring> #include<cstdlib> #include<cctype> #include<cmath> #include<iostream> #include<sstream> #include<iterator> #include<algorithm> #include<string&g…
Problem H Game Show Math Input: standard input Output: standard output Time Limit: 15 seconds A game show in Britain has a segment where it gives its contestants a sequence of positive numbers and a target number. The contestant must make a mathemati…
题意:给你一些任务1~n,给你m个数对(u,v)代表做完u才能做v 让你给出一个做完这些任务的合理顺序. 题解:拓扑排序版题 dfs到底再压入栈. #define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include<stdio.h> #include<algorithm> #include<string> #include<vector> #include<list> #in…