DFS
kuricip
如果你瞄准月亮,即便迷失,也是在星辰之间
展开
-
Find The Multiple(DFS)
Find The Multiple题目传送门Find The Multiple题目大意给你一个不超过200的数n求一个数m,m为n的不为0的倍数且不超过200位思路DFS,走∗10*10∗10和∗10+1*10+1∗10+1两条路,在long long内有解AC Code#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>using namespa原创 2020-09-03 13:40:14 · 92 阅读 · 0 评论 -
Fliptile(枚举&DFS)
Fliptile题目传送门Fliptile题目大意给你一个n×mn×mn×m的矩阵,矩阵由0和1组成,可以选择一个点翻转翻转:将该点以及该点上下左右的点翻转(0变1,1变0)求将矩阵翻转成全为0的最小步数,若没有则输出“IMPOSSIBLE”思路很经典的题目了,可以从第二行开始推,用第二行的翻转将第一行全变成0,同理,第三行变第二行为全0…到最后一行时,判断该行是否为0,全为0即为这种方法可以。对于第一行的状态可以直接枚举,枚举第一行翻转的情况(采取二进制的枚举方式),对于每次枚举的答案原创 2020-09-02 22:12:01 · 874 阅读 · 0 评论 -
棋盘问题(简单dfs)
棋盘问题题目传送门棋盘问题题目大意在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。思路直接开一个数组记录访问每行时,被访问过的列然后dfs每行即可,记得在最后加一个dfs(h+1),避免某行全不满足check后无法进入下一行的问题AC Code#include<cstdio>#include<algorithm>原创 2020-08-30 20:20:03 · 189 阅读 · 0 评论 -
Tokitsukaze and Rescue(DFS、最短路)
Tokitsukaze and Rescue题目传送门Tokitsukaze and Rescue题意一张完全图(双向边),删去k条边后,让新图的最短路的路径长度尽可能大思路先用dijkstra跑出最短路,删边肯定从这里面删的,然后枚举删除的边,再用递归求子问题(删k-1条边),ans存更新的答案对于删边,可以采取开一个二维数组记录,也可以将删除的边记录为INF,记得回溯代码#include<cstdio>#include<iostream>#inclu原创 2020-07-31 00:21:17 · 275 阅读 · 0 评论