二次方探测解决冲突一开始理解错了,难怪一直WA.先寻找key%TSize的index处,如果冲突,那么依此寻找(key+j*j)%TSize的位置,j=1~TSize-1如果都没有空位,则输出'-' #include <iostream> #include <cstdio> #include <algorithm> #include <string.h> #include <cmath> using namespace std; ; //之前设置…
题意:给出n1和n2,以及其中一个数的进制,问另一个数是多少进制的情况下,才会是两个数相等.不存在的话,则输出Impossible 这题思路很简单,但是要考虑的比较多,在简单题里面算是比较好的. 有两个注意点1.我被题目给骗了!!!以为最大进制只可能是36,所以在程序里就枚举2~36的进制,导致错了一大片样例最小进制下界low当然是n2的最大数字位+1最大进制上界high题目没有给出说明,但最大只可能为n1(前提n1>=low).为啥不会超过n1呢,比如40 10 1 10很明显10是进制表示除…
#include <iostream> #include <cstdio> #include <algorithm> #include <string.h> #include <cmath> using namespace std; /* 链表题 水 */ int n; struct Word{ int addr; char ch; ; }word[]; ]; int main() { int first1,first2; int adr,nxt…
给出n个城市,m条边,起始点c1和目的点c2接下来给出n个城市的队伍数以及m条双向边问你求c1到c2的所有最短路径数目,以及其中经过的最多队伍数 先最短路dijkstra,同时建立vector数组pre存储前驱节点然后dfs求出路径,以及每条路径经过的队伍数,更新最大值即可 #include <iostream> #include <cstdio> #include <algorithm> #include <string.h> #include <s…
这个是原先AC的代码,但是目前最后一个样例会超内存,也就是开不了两个数组来保存两个序列了,意味着我们只能开一个数组来存,这就需要利用到两个数组都有序的性质了. #include <iostream> #include <cstdio> #include <algorithm> #include <string.h> #include <cmath> #include <queue> using namespace std; /* 水死…
#include <iostream> #include <cstdio> #include <algorithm> #include <string.h> using namespace std; /* 3 0 180 150 100 7.5 7.2 4.5 */ +; int amounts[maxn]; float price[maxn]; struct Cake{ float amounts; //注意,这里得设置成浮点型,若是int一个样例会过不了…
题目 给定⼀个⻓度不超过10000的.仅由英⽂字⺟构成的字符串.请将字符重新调整顺序,按"PATestPATest-."这样的顺序输出,并忽略其它字符.当然,六种字符的个数不⼀定是⼀样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出. 输⼊格式: 输⼊在⼀⾏中给出⼀个⻓度不超过10000的.仅由英⽂字⺟构成的⾮空字符串. 输出格式: 在⼀⾏中按题⽬要求输出排序后的字符串.题⽬保证输出⾮空. 输⼊样例: redlesPayBestPATTopTee…
判断哪个人最早到,哪个人最晚走水,就是找最大值最小值 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <string.h> using namespace std; int m; ],]; ]=]="00:00:00"; int main() { ],time1[],time2[]; scanf(&qu…
排序,水题因为最后如果一个学生最好的排名有一样的,输出的课程有个优先级A>C>M>E那么按这个优先级顺序进行排序每次排序前先求当前课程的排名然后再与目前最好的排名比较.更新 至于查询,建立id与索引的映射即可. #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <map> using namespace s…
模拟先说一下例子,最后为方便起见,在目的地安增加一个费用为0的加油站0 1 2 3 4 5 6 7 87.1 7.0 7.2 6.85 7.5 7.0 7.3 6.0 00 150 200 300 400 600 1000 1250 1300车子加满了最多开50*12=600的距离0.第0个加油站600以内中,找有没有比7.1小的找到7.0,那么只需要加跑150距离的汽油即可费用(150/12)*7.1=88.75到第1个加油站 1.同样往后600距离内找比7.0小的找到6.85,那么只需要加跑…