摘要:
DFS 使用递归可以很好地实现深度优先搜索。这个说法并不是说深度优先搜索就是递归,只能说递归是深度优先搜索的一种实现方式,因为使用非递归也是可以实现DFS的思想的,但是一般情况下会比递归麻烦。不过,使用递归时,系统会调用一个叫系统栈的东西来存放递归中每一层的状态,因此使用递归来实现DFS的本质其实还 阅读全文
摘要:
题意 给出NP只老鼠的质量,并给出它们的初始顺序,按这个初始顺序把这些老鼠按每NG只分为一组,最后不够NG只的也单独分为一组。对每组老鼠,选出它们中质量最大的1只晋级,这样晋级的老鼠数就等于该轮分组的组数。对这些晋级的老鼠再按上面的步骤每NG只分为一组进行比较,选出质量最大的一批继续晋级,这样直到最 阅读全文
摘要:
经典的括号匹配问题。 遇到匹配的括号则出栈,否则匹配失败退出循环,最后若没有匹配失败的情况且栈为空输出yes,否则输出no。 map<char,char> mp; int main() { mp['(']=')'; mp['[']=']'; mp['{']='}'; int T; cin>>T; w 阅读全文
摘要:
最基础的题了吧。 题意 有一个容量限制为M的栈,先分别把$1,2,3,.. ,n$依次入栈,并给出一系列出栈顺序,问这些出栈顺序是否可能。 思路 解决本题的基本思路是:按照题目的要求进行模拟,将1 ~ n依次入栈,在入栈的过程中如果入栈的元素恰好等于出栈序列当前等待出栈的元素,那么就让栈顶元素出栈, 阅读全文
摘要:
水。 题意 给出N本书的编号、书名、作者、关键词(可能有多个)、出版社及出版年份,并给出M个查询,每个查询给出书名、作者、关键词(单个)、出版社及出版年份中的一个,要求输出满足该给出信息的所有书的编号。 map<string,set<string>> mp[6]; int n,m; int main 阅读全文
摘要:
水~。 map<int,int> mp; int n,m; int main() { cin>>m>>n; for(int i=0;i<n;i++) for(int j=0;j<m;j++) { int color; cin>>color; mp[color]++; } for(auto t:mp) 阅读全文
摘要:
set水题~。 set<int> S; int n; int main() { cin>>n; for(int i=0;i<n;i++) { string s; cin>>s; int sum=0; for(int i=0;i<s.size();i++) sum+=(s[i]-'0'); S.ins 阅读全文
摘要:
以字符串形式输入每个数,然后分别判断是否合法,不合法时输出错误信息,合法时对其进行累加,最后输出平均数。 判断是否合法的过程: (1) 如果字符串以负号'-'开头,那么先把它去掉,去掉后如果字符串长度为0,那么直接认为不合法(虽然数据里似乎没有只存在负号的字符串); (2) 使用一个变量 dotPo 阅读全文
摘要:
各种乱搞过的=_=。 string mp[2][13]={ {"tret","jan","feb","mar","apr","may","jun","jly","aug","sep","oct","nov","dec"}, {"","tam","hel","maa&qu 阅读全文