visited

18.06.25 POJ4129 16年期末09:变换的迷宫

百般思念 提交于 2020-05-05 13:31:06
描述 你现在身处一个R*C 的迷宫中,你的位置用"S" 表示,迷宫的出口用"E" 表示。 迷宫中有一些石头,用"#" 表示,还有一些可以随意走动的区域,用"." 表示。 初始时间为0 时,你站在地图中标记为"S" 的位置上。你每移动一步(向上下左右方向移动)会花费一个单位时间。你必须一直保持移动,不能停留在原地不走。 当前时间是K 的倍数时,迷宫中的石头就会消失,此时你可以走到这些位置上。在其余的时间里,你不能走到石头所在的位置。 求你从初始位置走到迷宫出口最少需要花费多少个单位时间。 如果无法走到出口,则输出"Oop!"。 输入第一行是一个正整数 T,表示有 T 组数据。 每组数据的第一行包含三个用空格分开的正整数,分别为 R、C、K。 接下来的 R 行中,每行包含了 C 个字符,分别可能是 "S"、"E"、"#" 或 "."。 其中,0 < T <= 20,0 < R, C <= 100,2 <= K <= 10。输出对于每组数据,如果能够走到迷宫的出口,则输出一个正整数,表示最少需要花费的单位时间,否则输出 "Oop!"。样例输入 1 6 6 2 ...S.. ...#.. .#.... ...#.. ...#.. ..#E#. 样例输出 7 1 #include <cstdio> 2 #include < string > 3 #include <memory.h> 4

18.06.25 16年期末01-05集合

只愿长相守 提交于 2020-05-05 12:09:53
B01:篮球联赛 描述 校篮球队每年都会举办“年级联赛”。篮球队的队员们将根据年级分为一年级、二年级、三年级和四年级4支队伍,参与角逐。 在年级联赛中,不同队伍两两之间比赛一场,胜者积1分,负者积0分(篮球比赛无平局)。最终队伍将按照积分从高到低排名,若出现同分,则年级较低的排名靠前。 现在年级联赛正在进行中,有些比赛已经结束,有些比赛则因种种原因还未进行。请你根据当前的比赛情况,计算出一年级队在联赛结束后,有可能得到的最高名次。 输入输入包含多组数据。第一行是一个整数T(1 <= T <= 100),表示数据组数。 对于每组数据,用一个4*4的字符矩阵表示当前的比赛情况。第i行第j列表示i年级与j年级的比赛情况,其中: “-”表示i与j相同,无比赛 “W”表示i年级胜j年级 “L”表示i年级负j年级 “?”表示i年级和j年级的比赛还未进行 输入 数据保证正确不存在矛盾,且无多余空格或空行。 输出 对于每组数据,输出一个整数,即一年级队在联赛结束后,有可能获得的最高名次。 样例输入 2 -LL? W-L? WW-L ??W- -WL? L-?L W?-L ?WW- 样例输出 3 1 1 #include <cstdio> 2 #include < string > 3 #include <memory> 4 #include <algorithm> 5 #include

legend3---30、不同类型的网站打包方案

混江龙づ霸主 提交于 2020-05-04 12:07:05
legend3---30、不同类型的网站打包方案 一、总结 一句话总结: 单页面:webpack进行单页面打包,比如vue-cli,比如手机的前端页面 多页面静态页面:可以用webpack打包多页面,例如vue官网 多页面动态页面:比如各个后端语言对应的mvc框架 1、laravel中的inRandomOrder()用的是原生sql中的什么操作? order by RAND() User::where('can_be_visited', 4)->inRandomOrder()->limit(100)->get(); select * from `users` where `can_be_visited` = 4 order by RAND() limit 100 2、发表评论优化? 评论发表成功之后,没必要再从后台拿新的评论数据,可以直接评论成功后把数据加到评论对象中 3、在vue项目中,一些插件初始化的时候,会有开始没有效果,刷新之后有效果,如何解决? 应该把初始化插件的代码放到vue的mounted方法中,这个时候页面结构已经初始化好了 4、用dom.getBoundingClientRect()来获取元素的位置? rectObject = object.getBoundingClientRect();有上下左右四个属性表示距离

[LeetCode] 212. Word Search II 词语搜索 II

怎甘沉沦 提交于 2020-05-04 03:37:00
Given a 2D board and a list of words from the dictionary, find all words in the board. Each word must be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or vertically neighboring. The same letter cell may not be used more than once in a word. For example, Given words = ["oath","pea","eat","rain"] and board = [ [ 'o' , 'a' ,'a','n'], ['e', 't' , 'a' , 'e' ], ['i', 'h' ,'k','r'], ['i','f','l','v'] ] Return ["eat","oath"] . Note: You may assume that all inputs are consist of lowercase letters a-z . Hint: You would need to optimize your

[LeetCode] 79. Word Search 单词搜索

一笑奈何 提交于 2020-05-04 03:34:30
Given a 2D board and a word, find if the word exists in the grid. The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or vertically neighboring. The same letter cell may not be used more than once. For example, Given board = [ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E'] ] word = "ABCCED" , -> returns true , word = "SEE" , -> returns true , word = "ABCB" , -> returns false . 给定一个2维的字母board,判断 是否有一个网格路径组成给定的单词。 解法:DFS, 典型的深度优先遍历,对每一点的每一条路径进行深度遍历,遍历过程中一旦出现: 1.数组越界。2.该点已访问过。3.该点的字符和word对应的index字符不匹配。 就要对该路径进行剪枝: Java:

【433】COMP9024 复习

↘锁芯ラ 提交于 2020-05-04 03:34:04
目录: 01. Week01 - Lec02 - Revision and setting the scene 02. Week02 - Lec01 - Data structures - memory allocation 03. Week02 - Lec02 - Input - Output 04. Week03 - Lec01 - ADTs 05. Week03 - Lec02 - Dynamic memory allocation 06. Week04 - Lec01 - LinkedLists 07. Week06 - Lec01 - Heaps 08. Week06 - Lec02 - Priority Queues and Heap Sort 09. Week07 - Lec01 - Graphs 10. Week07 - Lec02 - Graph search 11. Week08 - Lec02 - Applications of Graph Search 12. Week09 - Lec01 - Weighted Graph Algorithms 13. Week09 - Lec02 - Binary Search Trees 14. Week10 - Lec01 - Splay Trees 01. Week01 - Lec02 - Revision and

【好书推荐】《剑指Offer》之硬技能(编程题12~16)

守給你的承諾、 提交于 2020-05-04 03:32:03
本文例子完整源码地址: https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/sword 《【好书推荐】《剑指Offer》之软技能》 《【好书推荐】《剑指Offer》之硬技能(编程题1~6)》 《【好书推荐】《剑指Offer》之硬技能(编程题7~11)》 持续更新,敬请关注公众号:coderbuff,回复关键字“sword”获取相关电子书。 12.矩阵中的路径 题目:请设计一个函数,用来判断一个矩阵中是否存在一条包含其字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。 *回溯法:适合由多个步骤组成的问题,并且每个步骤有多个选项。 1 /** 2 * 矩阵中是否存在给定路径 3 * @author OKevin 4 * @date 2019/6/4 5 * */ 6 public class Solution { 7 8 /** 9 * 10 * @param matrix 一位数组表示矩阵 11 * @param rows 行数 12 * @param cols 列数 13 * @param path 路径 14 * @return true-存在;false-不存在 15 */ 16

hihocoder 后缀自动机五·重复旋律8 求循环同构串出现的次数

白昼怎懂夜的黑 提交于 2020-05-04 00:30:22
描述 小Hi平时的一大兴趣爱好就是演奏钢琴。我们知道一段音乐旋律可以被表示为一段数构成的数列。 小Hi发现旋律可以循环,每次把一段旋律里面最前面一个音换到最后面就成为了原旋律的“循环相似旋律”,还可以对“循环相似旋律”进行相同的变换能继续得到原串的“循环相似旋律”。 小Hi对此产生了浓厚的兴趣,他有若干段旋律,和一部音乐作品。对于每一段旋律,他想知道有多少在音乐作品中的子串(重复便多次计)和该旋律是“循环相似旋律”。 解题方法提示 × 解题方法提示 小Hi:我们已经对后缀自动机比较熟悉了,今天我们再来道稍有难度的题。 小Ho:好!这道题目让我们求的是若干串在另一个长串S中各自作为子串出现的次数,只是匹配的方式从完全相等变成了“循环同构”。 小Hi:没错!如果匹配方式是完全相等的话,本题就可以使用AC自动机或者 trie图 完美的解决。 小Ho:既然这个问题也和子串有关系,那么不妨试试后缀自动机。 小Hi:对。和上一期一样,你可以先想想如果询问只有一个串T应该怎么做。 小Ho:嗯,那自然就考虑所有T的循环同构的串在长串S中出现的次数。 小Hi:没错。循环同构有点麻烦,如果我们枚举与T循环同构的串,再依次判断是否在S中出现过。那复杂度至少是O(length(T)^2)的了。 小Ho:恩。比如T="abcd"的话,我们要判断4个串"abcd", "bcda", "cdab", "dabc

数据结构与算法之美_31_深度和广度优先搜索:如何找出社交网络中的三度好友关系?

僤鯓⒐⒋嵵緔 提交于 2020-05-03 16:18:22
上一节我们讲了图的表示方法,讲到如何用有向图、无向图来表示一个社交网络。在社交网络中,有一个六度分割理论,具体是说,你与世界上的另一个人间隔的关系不会超过六度,也就是说平均只需要六步就可以联系到任何两个互不相认的人。 一个用户的一度连接用户好友,就是他的好友,二度连接用户就是他好友的好友,三度连接用户就是他好友的好友的好友。在社交网络中,我们往往通过用户之间的连接关系,来实现推荐“可能认识的人”这么一个功能。 给你一个用户,如何找出这个用户的所有三度(其中包含一度、二度和三度)好友关系? 这就要用到今天要讲的深度优先和广度优先搜索算法了。 什么是“搜索”算法? 算法是作用于具体数据结构之上的,深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构的。这是因为,图这种数据结构的表达能力很强,大部分涉及搜索的场景都可以抽象成“图”。 图上的搜索算法,最直接的理解就是,在图中找出从一个顶点出发,到另一个顶点的路径。具体方法有很多,比如今天要讲的两种最简单、最“暴力”的深度优先、广度优先搜索算法,还有 A*、IDA* 等启发式搜索算法。 图有两种最主要存储方法,邻接表和邻接矩阵。今天我们用邻接表来存储图,针对无向图来讲解。 需要说明下,深度优先搜索算法和广度优先搜索算法,既可以用在无向图,也可以用在有向图上。 // 无向图 public class Graph { // 顶点的个数

博客的页面定制CSS

心不动则不痛 提交于 2020-05-03 15:35:07
我目前的博客CSS其实也是借用了别家的,来源: https://www.cnblogs.com/Penn000/p/6947472.html 注意使用的模板是:darkgreentrip 复制粘贴使用就好,啊,提醒一下,如果想要换图片的话是这里哦: 红圈处的url改一下就好 #home { margin : 0 auto ; width : 80% ; /* 原始65 */ min-width : 980px ; /* 页面顶部的宽度 */ background-color : rgba(245, 245, 245, 0.7) ; padding : 30px ; margin-top : 50px ; margin-bottom : 50px ; box-shadow : 0 2px 6px rgba(100, 100, 100, 0.3) ; } body { background : rgba(12, 100, 129, 1) url('http://images.cnblogs.com/cnblogs_com/Penn000/1013849/o_123.jpg') fixed no-repeat ; background-position : 50% 5% ; background-size : cover ; } #blogTitle { height : 100px ;