摘要: 一道很有意思的题目,也是我第一次写交互题 题意是,让你猜x,你可以输出两次,每次输出100个数,取值范围在0到2^14-1,要保证这总共200个数各不相同 每一次输出时,系统会随机挑选你输出的100个数中的一个,拿x和这个数做异或,将异或的结果告诉你 最后让你猜x的值 思路是:因为输出数字的范围是0 阅读全文
posted @ 2019-09-06 21:13 zuo_ti_jia 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题意:输入一个n,输入两个长度为2的字符串s, t,s和t只有可能是a b c这三个字符排列的情况。然后问,是否可以构造一个字符串,使得a b c出现次数均为n且该串中不包含s和t。 思路:首先我们可以将s和t的输入分为两种情况,第一种情况是s个t这两个字符串中的字符均是唯一的(也就是说不是重复某一 阅读全文
posted @ 2019-09-06 21:03 zuo_ti_jia 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 可能要先对bfs为什么能求出最短路径有所了解,若不了解,建议看一下该up主的讲解https://www.bilibili.com/video/av25761720?from=search&seid=17048517788278663520(大致可以理解成 每次都是更新相邻所有结点的距离,相当于一层一 阅读全文
posted @ 2019-09-02 23:25 zuo_ti_jia 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 题目大意:沿着一个x轴方向的公路修管子,由一串01的字符串表示这个公路的路段信息,有1的地方表示有十字路口,所以要把管子抬高才能使车辆迅速通过 然后给出一单位柱子造价和一单位管子造价,求最少开销(题目给出,首尾都是一根柱子) 思路:我们可以看出,在1的单元格中,由于它要抬高,它的上一根柱子和下一根柱 阅读全文
posted @ 2019-09-02 17:20 zuo_ti_jia 阅读(225) 评论(0) 推荐(0) 编辑
摘要: #include #include using namespace std; typedef long long ll; int n; void bfs(ll x){ queue q; q.push(x); while( !q.empty() ){ ll t = q.front(); q.pop(); if(t % n == 0){ cout... 阅读全文
posted @ 2019-07-30 18:42 zuo_ti_jia 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 又是给一个迷宫找最短路径,不过不同的是要把路径输出 思路:先写一个正常的BFS,但是多加入一个数组,记录每个点的上一个点,到达最后一个点时再DFS向上搜索路径 阅读全文
posted @ 2019-07-30 18:16 zuo_ti_jia 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题意:输入迷宫,每个位置标有0或1,可以在迷宫内任意位置可以移动,但是只能移动到与自己相反的数的位置上(比如0移动到1的格子,1移动到0的格子) 给出坐标,求它能够移动到多少个格子(自己初始的格子也算一次) 思路:可以用BFS,从给定坐标开始搜索整个迷宫,记录次数,但是第一次提交时超时了,后面发现, 阅读全文
posted @ 2019-07-29 20:08 zuo_ti_jia 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 就是马走‘日’字形,然后输出到各个位置的最短路径,走不到就输出-1 直接用BFS搜索即可求解,但是输出方面有点问题,我一开始用printf("%-5d)全部WA,结果改成cout<<left<<setw(5);又能AC 不知道是什么问题,题解里面也有人用printf 阅读全文
posted @ 2019-07-29 18:10 zuo_ti_jia 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 设置输出宽度 靠左cout << left << setw(xxxx) 靠右同理 阅读全文
posted @ 2019-07-29 18:04 zuo_ti_jia 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个矩阵,矩阵内元素非0即1且各元素可以翻转,0可以翻转为1,1可以翻转为0,翻转某一个元素时,它的上下左右个元素也会翻转 (注:受影响翻转的不会继续影响其它的),先问是否可以成功将元素全部置0,若可以,输出翻转次数最小的,若有多个答案,按字典序输出 思路:首先因为翻转一个元素会造成许多连锁 阅读全文
posted @ 2019-07-29 16:42 zuo_ti_jia 阅读(132) 评论(0) 推荐(0) 编辑