- 博客(35)
- 问答 (1)
- 收藏
- 关注
原创 Asis CTF 2016 b00ks
Asis CTF 2016 b00ks结构体通过前后分析可以得到如下结构struct book{ int id; char *name; char *book_description; int size;}再来看一下漏洞先看漏洞函数可以看到*buf=0,这个将末尾置0,那么便存在off_by_one漏洞,但是之后我一直在各个函数里找漏洞,都没找到,最后在read_name()函数里找到的,这只能说我太菜了,不知道还有交叉引用这个东西直接按x啊可以看到
2020-12-13 15:28:06 349
原创 归并排序总结
#include <bits/stdc++.h>using namespace std;int n,r[1000],r1[1000];void merge_(int r[],int r1[],int low,int mid,int high){ int i,j,k; i=low,j=mid+1,k=low; while((i<=mid)&&...
2019-12-10 23:28:24 118
原创 学习堆排序总结
#include <bits/stdc++.h>using namespace std;int n,r[1000];void SIFT(int r[],int i,int m){ int j,temp; temp=r[i]; j=2*i; while(j<=m){ if((j<m)&&(r[j]<...
2019-12-10 23:01:23 179
原创 计蒜客 骑车比赛
问题描述蒜头君准备去参加骑车比赛,比赛在 n 个城市间进行,编号从 1 到 n。选手们都从城市 1 出发,终点在城市 n。已知城市间有 m 条道路,每条道路连接两个城市,注意道路是双向的。现在蒜头君知道了他经过每条道路需要花费的时间,他想请你帮他计算一下,他这次比赛最少需要花多少时间完成。输入格式第一行输入两个整数\n,m(\1≤n≤1,000,1≤m≤5,000),分别代表城市个数和道路...
2019-11-28 23:46:37 257
原创 计蒜客习题:逃跑
问题描述蒜头被困在了一个 n+1 行 m+1 列的迷宫当中,蒜头所在位置为左上角的 (0,0),他需要逃跑到位于右下角(n,m) 的出口位置。在逃跑的过程中,蒜头只可以向东南西北四个方向移动,当然也可以选择停留在某一位置,他每移动一个单位距离需要 1 秒的时间,蒜头初始时刻的能量为d,蒜头在迷宫当中每过 1 秒需要消耗 1 单位能量。在迷宫中有 k 个士兵,他们会朝着某一方向周期性地射击,子弹只...
2019-11-26 20:51:53 149
原创 计蒜客习题:金字塔数独
问题描述蒜头君天资聪颖,酷爱数学,尤其擅长做数独游戏。不过普通的数独游戏已经满足不了蒜头君了,于是他发明了一种“金字塔数独”:下图即为金字塔数独。和普通数独一样,在 9 × 9 的大九宫格中有 9 个 3 ×3 的小九宫格(用粗黑色线隔开的)。要求每个格子上都有一个 1 到 9 的数字,每个数字在每个小九宫格内不能重复出现,每个数字在每行、每列也不能重复出现。但金字塔数独的每一个格子都有一个...
2019-11-25 19:33:03 627
原创 计蒜客-八皇后问题
蒜头君在和朋友下国际象棋,下的时候突发奇想,在国际象棋棋盘的每个格子上写下 11 到 9999 内的数字,又拿出了珍藏已久的 88 个皇后棋子。国际象棋中的皇后可以将同一行、同一列和同一对角线上的对方棋子吃掉。小蒜头在想,怎么摆放这 88 个皇后的位置才能让她们不能互相攻击,同时这 88 个皇后占的格子上的数字总和最大。蒜头君来求助热爱算法的你了,你能帮她算出答案吗?输入格式每个棋盘有 64...
2019-11-25 15:09:30 192
原创 计蒜客 正方形(难)
蒜头君手上有一些小木棍,它们长短不一,蒜头君想用这些木棍拼出一个正方形,并且每根木棍都要用到。 例如,蒜头君手上有长度为 11,22,33,33, 33 的 55 根木棍,他可以让长度为11,22 的木棍组成一条边,另外三根分别组成 33 条边,拼成一个边长为 33 的正方形。蒜头君希望你提前告诉他能不能拼出来,免得白费功夫。输入格式首先输入一个整数 n(4 \le n \le 20)n(4≤...
2019-11-24 23:42:12 398
原创 计蒜客——等边三角形
蒜头君手上有一些小木棍,它们长短不一,蒜头君想用这些木棍拼出一个等边三角形,并且每根木棍都要用到。 例如,蒜头君手上有长度为 1,2,3,3 的4根木棍,他可以让长度为1,2 的木棍组成一条边,另外 2 跟分别组成 2 条边,拼成一个边长为 3 的等边三角形。蒜头君希望你提前告诉他能不能拼出来,免得白费功夫。输入格式首先输入一个整数 n(3≤n≤20),表示木棍数量,接下来输入 n 根木棍的长...
2019-11-24 23:07:28 340
原创 关于dfs的一点理解
给一个 n 行 m 列的 2 维的迷宫,’S’表示迷宫额起点,’T’表示迷宫的终点,’#’表示不能通过的点,’.’ 表示可以通过的点。你需要从’S’出发走到’T’,每次只能上下左右走动,并且只能进入能通过的点,每个点只能通过一次。现在要求你求出有多少种通过迷宫的的方案。输入格式第一行输入 n, m (1≤n,m≤10) 表示迷宫大小。接下来输入 n 行字符串表示迷宫。输出格式输入通过迷宫...
2019-11-22 11:06:51 149
原创 树求和
题目描述现有一棵二叉树,求从根结点到叶子结点的一条最短的路径,路径的值是这条路径上所有结点的值之和。输入输入文件将包含二叉树中序和后序遍历。你的程序将从输入文件读取两行(直至文件末尾)。第一行将包含中序遍历树的序列值,第二行将包含后序遍历树的序列值。所有输入值均不同,大于0且小于10000。 你可以假设所有二叉树的结点数将不超过10000且大于等于1。输出输出最短路径的叶子结点的值,如...
2019-11-11 21:30:08 168
原创 KMP算法
经过我坚持不懈的努力,终于掌握了KMP算法(KMP大法好)KMP算法核心:next[]存的值(使之在已经查阅的字符里,得到了充分利用)!!;KMP算法主干:未知串不动;匹配串不停跳;#include <bits/stdc++.h>using namespace std;void getnext(const string ch,int clen,int next[])//...
2019-11-07 16:23:27 88
原创 关于二进制枚举子集
例子:无事街上走,提壶去打酒.逢店加一倍,逢花喝一斗.这一路上,遇到店5次,遇到花10次,最后一次遇到花,他正好吧酒喝完,问有多少种可能!!#include<bits/stdc++.h>using namespace std;int main(){ int ans = 0;for (int i = 0; i < (1<<14); ++i) {...
2019-10-31 21:34:00 87
原创 计蒜客显示屏输出;
(复制出错,格式有问题。不要描述部分了,看输入样例就能理解题意)输入格式输入两个整数 k,n(1≤k≤10,0≤n≤99999999),分别表达放大的倍数和需要输出的数字。输出格式输出数码管显示的数字,数字每一位之间用一列空格隔开。样例输入12 12345样例输出1– – –| | | | | || | | | | |– – ...
2019-10-31 21:06:06 122
原创 (计蒜客)基础数据结构学习总结
stringstring详解动态数组(vector)vector<数据类型>name插入1:name.push_back//在动态数字最后一个添加插入2:insert(it,x)//it是迭代器获取长度:name.size()删除:pop_back();擦擦:erase[it],或者erase[begin,end]—[begin,end)//擦掉区间的值;清空(划重...
2019-10-25 22:55:14 396
原创 计蒜客 接龙
蒜头君在玩一种接龙的游戏,蒜头君有 3000030000 张卡片分别放在 3000030000 列,每列依次编号为 1,2,…,300001,2,…,30000。同时,蒜头君也把每张卡片依次编号为 1,2,…,300001,2,…,30000。游戏开始,蒜头君让让第 ii 张卡片处于第 i(i = 1,2,…,30000)i(i=1,2,…,30000) 列。然后蒜头君会发出多次指令,每次调动指...
2019-10-25 19:55:41 114
原创 找出所有谎言(初探图论)
蒜头君有很多卡片,每张卡片正面上印着“剪刀”,“石头”或者“布”三种图案中的一种,反面则印着卡片的序号。“剪刀”,“石头”和“布”三种构成了一个有趣的环形,“剪刀”可以战胜“布”,“布”可以战胜“石头”,“石头”可以战胜“剪刀”。现有 N 张卡片,以 1-N 编号。每张卡片印着“剪刀”,“石头”,“布”中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N 张卡片所构成的关系进行描述...
2019-10-24 23:31:52 179
原创 计蒜客 网络交友
#include<bits/stdc++.h>using namespace std;int father[10010]={0};void init(){ int i=0; for(i=0;i<10000;i++) father[i]=i;}int get(int x){ if(x!=father[x]) fath...
2019-10-23 23:23:50 165
原创 n个最小和
给出两个包含 n 个整数的数组A,B。分别在A,B 中任意出一个数并且相加,可以得到 n^2 个和。求这些和中最小的 n 个。输入格式输入第一行一个整数 n(1≤n≤50000)。接下来一行输入数组 A,用空格隔开。接下来一行输入数组B,用空格隔开。1≤Ai,Bi≤10^9输出格式从小到大输出最小的n 个和,用空格隔开。样例输入41 3 5 72 4 6 8样例输出3 5 5 ...
2019-10-23 20:50:41 298
原创 计蒜客习题:任务系统
问题描述蒜头君设计了一个任务系统。这个系统是为了定时提醒蒜头君去完成一些事情。系统大致如下,初始的时候,蒜头君可能会注册很多任务,每一个任务的注册如下:Register Q_Period表示从系统启动开始,每过 Period 秒提醒蒜头君完成编号为 Q_num的任务。你能计算出蒜头君最先被提醒的k个任务吗?输入格式第一行输入 n(0————————————————#include ...
2019-10-22 23:37:41 560
原创 排序之优先队列
题目描述假设有n 个数据(1<=n<=100),将其按从小到大排序。输入输入由两行组成:第一行有一个整数,n(1≤n≤100);n表示待排序的数据个数。第2行有n个非负实数mi(1≤i≤n)((1≤mi<1000),小数点后保留1位)。输出输出有一行,共n个实数(小数点后保留1位),按从小到大排序,两个数之间用空格隔开。本题我用优先队列写的(目的是熟悉优先队列)#i...
2019-10-22 22:53:47 251
原创 带括号的表达式计算 (1705)
★ 输入文件:calc.in 输出文件:calc.out时间限制:1 s 内存限制:256 MB 测试点数:5【题目描述】小明在你的帮助下,破密了Ferrari设的密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,其中只有“(”,“)”,“0-9”,“+”,“-”,“”,“/”,“^”求出的值就是密码。小明数学学得不好,还需你帮他的忙。(“/”用整数除法)【输入格式】共1行,为...
2019-10-10 23:38:35 364
原创 计蒜客-14 表达式求值
给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值的最后四位。输入格式输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符’+‘和乘法运算符’’,且没有括号,所有参与运算的数字均为 00 到 231−1231−1 之间的整数。输入数据保证这一行只有 0~9、’+’、’'这 1212 种字符。(输入字符串长度不超过 600000?600000?)输出格式输出只...
2019-10-10 15:55:52 373
原创 大数相乘
不多说,直接上代码;#include<bits/stdc++.h>using namespace std;int main(){ int a[510]={0},b[510]={0},c[1002]={0},i=0,j=0,l=0,s=0,t=0; char x; while((x=getchar())!='\n') { c[i]=...
2019-10-06 09:44:22 64
原创 网页跳转
题目:蒜头君每天都在用一款名为“蒜厂浏览器”的软件。在这个浏览器中,一共三种操作:打开页面、回退和前进。它们的功能如下:打开页面:在地址栏中输入网址,并跳转到网址对应的页面;回退:返回到上一次访问的页面;前进:返回到上次回退前的页面,如果上一次操作是打开页面,那么将无法前进。现在,蒜头君打开浏览器,进行了一系列操作,你需要输出他每次操作后所在页面的网址。输入格式第一行输入一个整数 n(...
2019-10-02 16:49:29 255
原创 计蒜客的括号匹配
问题描述蒜头君在纸上写了一个串,只包含’(‘和’)’。一个’(‘能唯一匹配一个’)’,但是一个匹配的’(‘必须出现在’)’之前。请判断蒜头君写的字符串能否括号完全匹配,如果能,输出配对的括号的位置(匹配的括号不可以交叉,只能嵌套)。输入格式一行输入一个字符串只含有’(‘和’)’,输入的字符串长度不大于50000。输出格式如果输入括号不能匹配,输出一行”No”,否则输出一行”Yes”,接下...
2019-09-30 23:59:06 303
原创 蒜头君面试
蒜头君来蒜厂面试的时候,曾经遇到这样一个面试题:给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一个。当时可算是给蒜头君难住了。现在蒜头君来考考你。输入格式第一行输入一个整数n(1≤n≤100000),接下来一行输入n个 int 范围内的整数。输出格式输出出现次数最多的数和出现的次数,中间用一个空格隔开,如果有多个重复出现的数,输出值最大的那个。样例输入...
2019-09-30 13:11:14 109
原创 映射学习
一,构造映射;1.map<T1,T2> m;从T1类型到T2类型的映射;二,插入映射;1.pair<int ,cahr>(1,‘a’)例码#include <map>#include <string>using namespace std;int main() { map<string, int> dict; /...
2019-09-29 23:35:24 307
原创 蒜头君学英语
题目描述蒜头君快要考托福了,这几天,蒜头君每天早上都起来记英语单词。花椰妹时不时地来考一考蒜头君:花椰妹会询问蒜头君一个单词,如果蒜头君背过这个单词,蒜头君会告诉花椰妹这个单词的意思,不然蒜头君会跟花椰妹说还没有背过。单词是由连续的大写或者小写字母组成。注意单词中字母大小写是等价的。比如You和you是一个单词。输入格式首先输入一个n(1≤n≤100000) 表示事件数。接下来 n 行,每行...
2019-09-29 23:13:23 86
原创 堆积木
问题描述蒜头君有 n 块积木,编号分别为 1 到 n。一开始,蒜头把第 i 块积木放在位置 i。蒜头君进行 m 次操作,每次操作,蒜头把位置 b 上的积木整体移动到位置 a 上面。比如 1 位置的积木是 1,2 位置的积木是 2,那么把位置 2 的积木移动到位置 1 后,位置 1 上的积木从下到上依次为 1,2。输入格式第一行输入2个整数 n,m(1≤n≤10000,0≤m≤10000)。...
2019-09-28 20:48:59 229
原创 07:和为给定数
总时间限制:1000ms内存限制:65536kB描述给出若干个整数,询问其中是否有一对数的和等于给定的数。输入共三行:第一行是整数n(0 < n <= 100,000),表示有n个整数。第二行是n个整数。整数的范围是在0到10^8之间。第三行是一个整数m(0 <= m <= 2^30),表示需要得到的和。输出若存在和为m的数对,输出两个整数,小的在前...
2019-09-25 20:31:51 128
原创 15:接水问题
总时间限制: 1000ms 内存限制: 65536kB描述学校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为 1。现在有 n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从 1 到 n 编号,i号同学的接水量为 wi。接水开始时,1 到 m 号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学 j 完成其接水量要求 wj后...
2019-09-25 19:32:08 237
原创 14:铺地毯
总时间限制: 1000ms 内存限制: 65536kB描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有n张地毯,编号从1到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的...
2019-09-25 18:58:18 135
原创 25:螺旋加密
总时间限制: 1000ms 内存限制: 65536kB描述Chip和Dale发明了一种文本信息加密技术。他们事先秘密约定好矩阵的行数和列数。接着,将字符按如下方式编码:所有文本只包含大写字母和空格。每个字符均赋予一个数值:空格=0,A=1,B=2,……,Y=25,Z=26。按照下图所示的方式,将每个字符对应数值的5位二进制数依次填入矩阵。最后用0将矩阵补充完整。例如,对于信息...
2019-09-25 16:59:04 460
空空如也
为什么计算机网络(严伟,潘爱民)封面是四条龙
2020-05-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人