dfs
樂_smile
这个作者很懒,什么都没留下…
展开
-
UVa 1613 k度图的着色(K-Graph Oddity)
题意:输入一个n个节点m条边的连通图,n保证为奇数。设k为最小的奇数,使得每个点的度数不超过k,你的任务是把图中的结点涂上颜色1~k,使得相邻节点的颜色不同。多解任意输出,输入保证有解。分析:这题听莫名其妙的,问的k是度,但是度和着色是没有关系的(这里可以求指正,本人认为没关系),例如 可以从1放出4条线,这个时候按图中的意思就是k = 5了 可是只需要1是2 其余放出射线的终点均为1即可。...原创 2019-11-16 15:31:28 · 350 阅读 · 0 评论 -
UVa 11694 Gokigen Naname 谜题(Gokigen Naname)
题目:略其实不是很好意思发上来,因为代码有很多借鉴,算是为了完成一个章节吧。#include<bits/stdc++.h>#define LL long long#define ms(s) memset(s, 0, sizeof(s))using namespace std;const int maxn = 10;int n;char pic[maxn][maxn];...原创 2019-10-20 14:36:44 · 280 阅读 · 0 评论 -
UVa 11846 找座位(Finding Seats Again)
题目:略#include<bits/stdc++.h>#define LL long longusing namespace std;const int maxn = 20 + 5;int n;int k;char pic[maxn][maxn];char ans[maxn][maxn];bool dfs(int id, char ch) { while(...原创 2019-10-18 19:06:22 · 278 阅读 · 0 评论 -
UVa 11882 最大的数(Biggest Number)
题目链接:https://vjudge.net/problem/UVA-11882大意是:搜索一下,连起来成为一个数字,不能反复走过一个格子,求最大的数字思路:本题搜索的话,会超时,需要剪枝,搜索剩余可能步数,可以用bfs,基本在O(1)的时间就可以知道剩下几步可以走#include<bits/stdc++.h>#define LL long longusing names...原创 2019-10-17 22:15:10 · 336 阅读 · 0 评论 -
UVa 307 小木棍(Sticks)
题目:略思路:1 木棍原来最小长度应该是当前所有木棍中最长木棍到木棍总和的一个范围内2 剪枝很重要,题目没有指定明确数据范围,下列几个剪枝,去掉一个都TLE算法解释:排序木棍,为了更加快速的求解也为了 下列代码中/****/注释这行的剪枝,非常重要假设 九个木棒的长度为 5 2 1 5 2 1 5 2 1如果没有排序 最后取的结果可能是 2 + 2 + 1 + 1 = 6 这样的...原创 2019-10-17 19:27:12 · 250 阅读 · 0 评论 -
UVa 817 数字表达式 (According to Bartjens)
题目:略这一题做了两遍才做出来有一些麻烦的点需要注意1: 数字表达式的计算,这里由于只涉及到 ±* 因此其实没必要用中缀表达式转后缀表达式利用栈来计算,处理起来并不方便2: 2000= 由于没有插入任何的运算符,所以其实也为 IMPOSSIBLE除此之外,这是一道dfs暴力深搜的水题,甚至没有地方需要剪枝,代码非常简单,原创。#include<bits/stdc++.h>...原创 2019-10-16 22:52:15 · 252 阅读 · 0 评论 -
UVa 572 油田 (Oil Deposits)
输入一个m行n列的字符矩阵,统计字符’@’ 组成多少个八连块。如果两个字符’@'的各自相邻,允许对角线相邻,就说他们属于同一个八连块,输出八连块的数量。要点;已经dfs的八连块给予非*字符,即可,每次dfs一次, 八连块都多一个#include<bits/stdc++.h>using namespace std;const int maxn = 100 + 10;ch...原创 2019-08-20 21:32:59 · 150 阅读 · 0 评论 -
UVa 1103 古代象形符号 (Ancient Messages)
每组数据包含一个H行W列的字符矩阵(H<=200, W<=50) 每个字符为4个相邻像素点的十六进制,例如10011100对应的是9c转化为二进制后1表示黑点,0表示白点。输入满足不会出现下述六种符号之外的符号输入至少包含一个符号,且每个像素都属于一个符号每个符号都是一个四连块,并且不同的符号不会相互接触,也不会互相包含如果两个黑像素对角,那么一定有一个元素在这两个元素中间...原创 2019-08-20 21:43:58 · 434 阅读 · 0 评论 -
UVa 10562 看图写树(Undraw the Trees)
题目:你的任务是将多叉树转化为括号表示法。如下图所示,每个结点除了"-","|",’#‘和空格的其他字符表示,每个非叶结点的正下方总会有一个’|‘字符,然后下方是一排"-"字符,恰好覆盖在所有子节点的上方,单独的一行’#'为数据结束的标记。要点:如何进行递归的写法呢,按题意以及输出样例,发现是深搜,用二位数组。考虑一下只有一个#的情况,空树。#include<bits/stdc...原创 2019-08-22 18:12:23 · 226 阅读 · 0 评论