unordered_map: 如果直接写报错加上tr1: #include<tr1/unordered_map>//注意写法 using namespace std; using namespace std::tr1;//注意写法 std::unorederd_map 是一个关联容器,其中的元素根据键来引用,而不是根据索引来引用. #include <iostream> #include <algorithm> #include <queue> #inclu…
在X森林里,上帝创建了生命之树.他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值.上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, -, vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连.在这个前提下,上帝要使得S中的点所对应的整数的和尽量大.这个最大的和就是上帝给生命之树的评分.经过atm的努力,他已经知道了上帝给每棵树上每个节点上的整数.但是由于 atm 不擅长计…
/*——————————————————————————————————————————————————————————— [结果填空题]T1 题目:奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利. 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求. 某抽奖活动的奖券号码是5位数(10000-99999), 要求其中不要出现带“4”的号码,主办单位请你计算一下, 如果任何两张奖券不重号,最多可发出奖券多少张. 请提交该数字(一个整数),不要写任何多余的内容或说明…
1. 奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利.虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张. 请提交该数字(一个整数),不要写任何多余的内容或说明性文字. #include<bits/stdc++.h>using namespace std;​bool check(int n) { int t;…
题目描述: 生命之树 在X森林里,上帝创建了生命之树. 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值.上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, ..., vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连. 在这个前提下,上帝要使得S中的点所对应的整数的和尽量大.这个最大的和就是上帝给生命之树的评分. 经过atm的努力,他已经知道了上帝给每棵树上每个节点上的…
题目描述 X星球的机器人表演拉拉队有两种服装,A和B. 他们这次表演的是搭机器人塔. 类似:      A     B B    A B A   A A B B  B B B A B A B A B B A 队内的组塔规则是:      A 只能站在 AA 或 BB 的肩上.   B 只能站在 AB 或 BA 的肩上. 你的任务是帮助拉拉队计算一下,在给定A与B的人数时,可以组成多少种花样的塔. 输入一行两个整数 M 和 N,空格分开(0<M,N<500),分别表示A.B的人数,保证人数合理性…
题目描述 X星球的流行宠物是青蛙,一般有两种颜色:白色和黑色. X星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去. 如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里边有一只青蛙. *WWWBBB 其中,W字母表示白色青蛙,B表示黑色青蛙,*表示空杯子. X星的青蛙很有些癖好,它们只做3个动作之一 1. 跳到相邻的空杯子里. 2. 隔着1只其它的青蛙(随便什么颜色)跳到空杯子里. 3. 隔着2只其它的青蛙(随便什么颜色)跳到空杯子里. 对于上图的局面,只要1步,就可跳成该局…
题目描述 Excel单元格的地址表示很有趣,它使用字母来表示列号. 比如,A表示第1列,B表示第2列,Z表示第26列,AA表示第27列,AB表示第28列,BA表示第53列,.... 当然Excel的最大列号是有限度的,所以转换起来不难. 如果我们想把这种表示法一般化,可以把很大的数字转换为很长的字母序列呢? 本题目既是要求对输入的数字, 输出其对应的Excel地址表示方式. 输入 输入存在多组测试数据,对于每组测试数据输入一行包含一个整数 输入的整数范围[1,2147483647] 输出 对于每…
题目描述 给定一个长度为N的数列,A1, A2, ... AN. 如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间. 你能求出数列中总共有多少个K倍区间吗?  输入 第一行包含两个整数N和K.(1 <= N, K <= 100000) 以下N行每行包含一个整数Ai.(1 <= Ai <= 100000)   输出 输出一个整数,代表K倍区间的数目. 样例输入 5 2 1 2 3 4 5 样例输出 6…
题目描述 如图所示: 有9只盘子,排成1个圆圈.其中8只盘子内装着8只蚱蜢,有一个是空盘. 我们把这些蚱蜢顺时针编号为 1~8.每只蚱蜢都可以跳到相邻的空盘中,也可以再用点力,越过一个相邻的蚱蜢跳到空盘中. 请你计算一下,如果要使得蚱蜢们的队形改为按照逆时针排列,并且保持空盘的位置不变(也就是1-8换位,2-7换位,...),至少要经过多少次跳跃?  输出 输出一个整数表示答案   答案:20 题解 1.用滚动数组表示环,( id+dir[i] +9)%9   这份代码跑的巨慢,要5 s ,但是…