继续赛后马后炮系列--一个搜索题目

前言

西湖论剑,错过了。只有现在才可以。只好先把题目下载下来,半夜三根的慢慢做。

我的顺序是先misc->web->pwn,其他题目我就真的做不来啦。

现在也先写一个Misc题目吧,题目如下:

资深宅“flag{”在朋友邀请下,参加了一场聚会。
在聚会上看到了美女“75D}”,一时心花荡漾、不能自己,坚信彼此就是天造地设的一双。
想通过层层朋友的关系认识她,却无奈性格问题,不敢劳师动众。
好在朋友帮忙搞到一张聚会人员关系图,如下:

[('FloraPrice','E11'),('FloraPrice','E9'),('FloraPrice','75D}'),('NoraFayette','E11'),('NoraFayette','E10'),('NoraFayette','E13'),('NoraFayette','E12'),('NoraFayette','E14'),('NoraFayette','E9'),('NoraFayette','E7'),('NoraFayette','E6'),('E10','SylviaAvondale'),('E10','MyraLiddel'),('E10','HelenLloyd'),('E10','KatherinaRogers'),('VerneSanderson','E7'),('VerneSanderson','E12'),('VerneSanderson','E9'),('VerneSanderson','E8'),('E12','HelenLloyd'),('E12','KatherinaRogers'),('E12','SylviaAvondale'),('E12','MyraLiddel'),('E14','SylviaAvondale'),('E14','75D}'),('E14','KatherinaRogers'),('FrancesAnderson','E5'),('FrancesAnderson','E6'),('FrancesAnderson','E8'),('FrancesAnderson','E3'),('DorothyMurchison','E9'),('DorothyMurchison','E8'),('EvelynJefferson','E9'),('EvelynJefferson','E8'),('EvelynJefferson','E5'),('EvelynJefferson','E4'),('EvelynJefferson','E6'),('EvelynJefferson','E1'),('EvelynJefferson','E3'),('EvelynJefferson','E2'),('RuthDeSand','E5'),('RuthDeSand','E7'),('RuthDeSand','E9'),('RuthDeSand','E8'),('HelenLloyd','E11'),('HelenLloyd','E7'),('HelenLloyd','E8'),('OliviaCarleton','E11'),('OliviaCarleton','E9'),('EleanorNye','E5'),('EleanorNye','E7'),('EleanorNye','E6'),('EleanorNye','E8'),('E9','TheresaAnderson'),('E9','PearlOglethorpe'),('E9','KatherinaRogers'),('E9','SylviaAvondale'),('E9','MyraLiddel'),('E8','TheresaAnderson'),('E8','PearlOglethorpe'),('E8','KatherinaRogers'),('E8','SylviaAvondale'),('E8','BrendaRogers'),('E8','LauraMandeville'),('E8','MyraLiddel'),('E5','TheresaAnderson'),('E5','BrendaRogers'),('E5','LauraMandeville'),('E5','CharlotteMcDowd'),('E4','CharlotteMcDowd'),('E4','TheresaAnderson'),('E4','BrendaRogers'),('E7','TheresaAnderson'),('E7','SylviaAvondale'),('E7','BrendaRogers'),('E7','LauraMandeville'),('E7','CharlotteMcDowd'),('E6','TheresaAnderson'),('E6','PearlOglethorpe'),('E6','BrendaRogers'),('E6','LauraMandeville'),('E1','LauraMandeville'),('E1','BrendaRogers'),('E3','TheresaAnderson'),('E3','BrendaRogers'),('E3','LauraMandeville'),('E3','CharlotteMcDowd'),('E3','flag{'),('E2','LauraMandeville'),('E2','TheresaAnderson'),('KatherinaRogers','E13'),('E13','SylviaAvondale')]

你能在让最少人知道的情况下,帮助flag先生联系上75D小姐姐吗?
求节点“flag{”到“75D”的最短路径,即为flag,比如:flag{E3AliceBobXXXXXXXXXXXXXXXX75D}

很明显一个BFS搜索最短路径。

虽然说直接用手算就行,但是我一定要整一个软件出来

分析

我们先看上面这么多数据,我们假设把名字当成节点,En当成line。

我们就能分为两种分类,一种是 名字开头,成员是线的标准node maps。

friendship = {'FloraPrice': ['E11', 'E9', '75D}'], 'NoraFayette': ['E11', 'E10', 'E13', 'E12', 'E14', 'E9', 'E7', 'E6'], 'VerneSanderson': ['E7', 'E12', 'E9', 'E8'], 'FrancesAnderson': ['E5', 'E6', 'E8', 'E3'], 'DorothyMurchison': ['E9', 'E8'], 'EvelynJefferson': ['E9', 'E8', 'E5', 'E4', 'E6', 'E1', 'E3', 'E2'], 'RuthDeSand': ['E5', 'E7', 'E9', 'E8'], 'HelenLloyd': ['E11', 'E7', 'E8'], 'OliviaCarleton': ['E11', 'E9'], 'EleanorNye': ['E5', 'E7', 'E6', 'E8'], 'KatherinaRogers': ['E13']}

另一种就是已线为节点,名字为成员的 初始Line搜索的图。

line = {'E10': ['SylviaAvondale', 'MyraLiddel', 'HelenLloyd', 'KatherinaRogers'], 'E12': ['HelenLloyd', 'KatherinaRogers', 'SylviaAvondale', 'MyraLiddel'], 'E14': ['SylviaAvondale', '75D}', 'KatherinaRogers'], 'E9': ['TheresaAnderson', 'PearlOglethorpe', 'KatherinaRogers', 'SylviaAvondale', 'MyraLiddel'], 'E8': ['TheresaAnderson', 'PearlOglethorpe', 'KatherinaRogers', 'SylviaAvondale', 'BrendaRogers', 'LauraMandeville', 'MyraLiddel'], 'E5': ['TheresaAnderson', 'BrendaRogers', 'LauraMandeville', 'CharlotteMcDowd'], 'E4': ['CharlotteMcDowd', 'TheresaAnderson', 'BrendaRogers'], 'E7': ['TheresaAnderson', 'SylviaAvondale', 'BrendaRogers', 'LauraMandeville', 'CharlotteMcDowd'], 'E6': ['TheresaAnderson', 'PearlOglethorpe', 'BrendaRogers', 'LauraMandeville'], 'E1': ['LauraMandeville', 'BrendaRogers'], 'E3': ['TheresaAnderson', 'BrendaRogers', 'LauraMandeville', 'CharlotteMcDowd', 'flag{'], 'E2': ['LauraMandeville', 'TheresaAnderson'], 'E13': ['SylviaAvondale']}

之后就很简单啦,首先我们line搜索出flag{的初始线E3。之后去friendship查找关系,更具line查找到Node名,然后加入queue防止重复搜索,然后继续遍历Node下的line依次反复,直到找到end。

代码


queue = []

def get_line(txt):
    for i in line:
        if txt in line[i]:
            return i
def dfs(txt,target,vector):
    for i in friendship:
        if txt in friendship[i]:
            queue.insert(0,(i,txt))
            new = vector + i
            for j in friendship[i]:
                if j == target:
                    print(new+"75D}")
                    return
                if (i,j) not in queue:
                    new = new + j
                    
                    dfs(j,target,new)
    queue.pop()
dfs(get_line("flag{"), '75D}',"")

结果

TIM截图20190410133022.jpg

从结果列表中找到最短的,然后加上flag。

最后得出flag就是

flag{E3EvelynJeffersonE9FloraPrice75D}

Tags: none

近况 & ~博客四周年啦~

近况

啥时候开学的呢?是二月?还是三月?我已经记不太清楚了。整个人浑浑噩噩。。也说不上吧。日子过得十分充实。不,不如说特别的忙。明明感觉没什么事但是就是累。就是事多。甚至一天十四节课排满的都有出现这种情况。说好的大学就是玩呢?都是骗人的。

这不禁让我怀念起了高中时光,虽然都在教室里,但是对于本死肥宅来说,窝在教室里一天不动简直太舒服不过了(仅对于我这个坏学生),早上睡觉到第三节课,然后自己看书一直看到晚上放学,然后回家继续看书/写代码/摸鱼。甚至到了高三老师鸟都不鸟你(。hhhhh当然好学生们不要模仿哟。

总而言之,就是在这种看似不忙,实际上非常忙的情况下度过的。以前的深夜研究自选课题,最近倒是都累到没力气去研究了。舍友一个个又都是乖宝宝。每天11点睡,中午又午睡。这让我怎么敲代码,虽然说我是青轴_(:з)∠)_。倒是在上课的时候可以掏出kindle。而且选了两节关于计算机的选修课,倒是可以在上课的时候研究研究,但是就是不能做实验emmmm。让我睡机房该多好。理想的生活条件就是一个人,有电脑有琴房,或者离得近也行啊,目前去琴房得跑整整半个学校,鬼才想练琴啊。

不过好在可以用脑部弹琴,对于私宅来说最擅长的就是脑补了不是么?

同时最近虽然说咕了很多东西,但是很多东西也都在学习,比如运维啊。golang啊golang啊golang啊,本来想学java的,但是怎么说呢,java和C#,这种面条语法我用的是在难受,还没写代码之前一大堆函数声明就看得我头疼,更别说写代码的时候各种奇怪的类型转换各种生命,各种继承等等等等,我知道这是为了安全,但是为了安全而用这么一堆东西我是实在接收不来。

所以比起这些我倒是更喜欢C这类型的,正好golang又出现了,同时golang也有包管理,虽然很迷但是至少比C好(因为它压根就没有hhhh 所以就愉快的写起了golang了啦。

博客四周年

虽然4月11日从才是正式的四周年,但是现在既然都写了,那么一起写上去把。四周年了呀。整整陪伴了我一个高中。

当初创办这个博客,甚至连高中都不知道考得上考不上(虽然真的没考上就是了),但是不知不觉现在就已经大学了。

纵观发表的文章就能看这几年来水平的提升(虽然现在依旧很菜就是了)。但是至少不会出现当年想写技术类文章却不知道写什么的尴尬境地。

当初创立了这个博客的念头也很简单,就是不折腾,给自己看,没想到竟然坚持到了现在。同时这个样式也用了四年hhhhh。这个复古风样式不得不说也挺耐用的(?)。看这个cover,事当时随便找了个图,然后用windows XP自带的画图工具随便P的。现在看来我竟然还有一丝设计天赋(???),真不愧是我(<-你怎么这么不要脸)。

副标题,~伪技术宅的迷之地~,为什么是伪技术宅呢?这也是我个人讨厌dalao这个词的由来。明明没有技术却被人称呼为大佬(指的是我),虽然并非嘲讽意味,但是自己看了想了下真的大佬的水平,我就感觉无地自容,但是同时也羡慕成为一个真的大佬。在我当初的眼里,技术宅基本就是大佬,(哪像现在随便一个幺蛾子出来都说自己是技术宅)。因此,我也就给自己弄了个副标题,“伪技术宅”啦。

时至今日,我也不觉得的我自己成为了大佬,因此“伪技术宅”这个标签应该也会继续下去吧。

Tags: 四周年

Chrome自带的网页长截图功能

因为有时候,要截取一个网页会很麻烦,所以就像着有没有网页长截图功能,自带截图。
结果查了一下,发现还真有。话不多说,开始吧。

第一步。打开你想要截图的网页。按下F12

TIM截图20190318212027.jpg

第二部,选择console,并在这之中按下ctrl+shift+p键

TIM截图20190318212119.jpg

第三部,输入full。会自动补全。
TIM截图20190318212027.jpg

之后就会弹出网页截图的png下载框啦。

Tags: 教程
文章总数:134篇 分类总数:3个