(ccf模拟)201709-2公共钥匙盒】的更多相关文章

问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中. 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙.一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙. 每次取钥匙的时候,老师们都会找到自己所需要的钥匙将其取走,而不会移动其他钥匙.每次还钥匙的时候,还钥匙的老师会找到最左边的空的挂钩,将钥匙挂在这个挂钩上.如果有多位…
公共钥匙盒 201709-2 这题的思路一开始不是很清晰,一开始想用贪心去做.但是发现按照题目的思路不对.所以这里采用的是类似于多项式的加减的处理. #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<string> #include<vector> #include<map> using namespace…
问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中. 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙.一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙. 每次取钥匙的时候,老师们都会找到自己所需要的钥匙将其取走,而不会移动其他钥匙.每次还钥匙的时候,还钥匙的老师会找到最左边的空的挂钩,将钥匙挂在这个挂钩上.如果有多位…
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-2 公共钥匙盒 问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中. 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙.一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙. 每次取钥匙的时候,老师们都会找…
CCF 2017-09-2 公共钥匙盒 题目 问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中. 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙.一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙. 每次取钥匙的时候,老师们都会找到自己所需要的钥匙将其取走,而不会移动其他钥匙.每次还钥匙的时候,还钥匙的老师会找到最左…
 CCF 2017 09-02 公共钥匙盒 1.用快速排序函数结合排序规则函数来给取放排序. 2.vector数组的强大功能. #include<iostream> #include<vector> #include<algorithm> using namespace std; struct node{ int num;//钥匙的编号 int start;//动作开始时间 int action;//动作的类型 0:放 1:取 node(){ } node(int nu…
试题编号: 201709-2 试题名称: 公共钥匙盒 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中. 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙.一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙. 每次取钥匙的时候,老师们都会找到自己所需要的钥匙…
1.公共钥匙盒 问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中. 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙.一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙. 每次取钥匙的时候,老师们都会找到自己所需要的钥匙将其取走,而不会移动其他钥匙.每次还钥匙的时候,还钥匙的老师会找到最左边的空的挂钩,将钥匙挂在这个挂…
问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中. 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙.一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙. 每次取钥匙的时候,老师们都会找到自己所需要的钥匙将其取走,而不会移动其他钥匙.每次还钥匙的时候,还钥匙的老师会找到最左边的空的挂钩,将钥匙挂在这个挂钩上.如果有多位…
问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中. 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙.一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙. 每次取钥匙的时候,老师们都会找到自己所需要的钥匙将其取走,而不会移动其他钥匙.每次还钥匙的时候,还钥匙的老师会找到最左边的空的挂钩,将钥匙挂在这个挂钩上.如果有多位…
#include <iostream> #include<string> #include <algorithm> #include<sstream> #include<memory.h> #include<set> #include<queue> #include<vector> #include<cmath> struct time { int time; int key; int re; };…
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); int K = in.nextInt(); int[] g = new int[N]; int[] w = new int[K]; int[] s = new int[K]; int[] c = new in…
前几天知道的CCF计算机职业资格认证考试,觉得好像比软考含金量高一些,就去了解了一下,做了模拟试题中的 “出现次数最多的数” 这道题,我的算法和官方答案算法不同,个人觉得觉得官方的好一点,没那么繁琐,就是可能第一眼看过去觉得有些难理解,我会在下面做一个官方答案的解析,最后也会放上自己的代码. 做模拟试题要先登录官网:https://passport.ccf.org.cn/sso/platform,CSP认证 报名考试→模拟考试(建议用电脑打开,手机看不到模拟考试) 模拟试题的答案可以直接在官网下…
窗口 时间限制: 1.0s 内存限制: 256.0MB   问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域.窗口的边界上的点也属于该窗口.窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容. 当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变.如果你点击的位置不属于任何窗口,则系统会忽略你这次点击. 现在我们希望你写一个程序模拟点击窗口的过…
http://115.28.138.223:81/view.page?opid=5 这道题问的很怪. 起点DFS,每一个点还要DFS一次,统计不能到终点的个数 数据量不大这样做也能AC #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int x,y,ax,ay,bx,by;//'#'0, '+'1, '-'2, '|'…
http://115.28.138.223:81/view.page?opid=4 这道题写的我醉醉的,想建一棵指定深度的树最后统计满足条件的个数 居然没去考虑这样必然超时!!!代码写的也是醉了,把没完成的代码先贴出来,好好嘲讽下自己 (╬▔皿▔) #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int floorer…
http://115.28.138.223:81/view.page?opid=3 统计出连续的最长乘以当前高度,找最大即可 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define within(x,a,b) ((unsigned)((x)-(a))<=((b)-(a))) using namespace std; int readint(int…
http://115.28.138.223:81/view.page?opid=2#code 代码一有WA点80分 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; void out(int a) { ) ); putchar(a%+'); } ]; int solve() { ; ;i<;i++) { num+=…
http://115.28.138.223:81/view.page?opid=1 第一题用一组STL函数查找即可 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define within(x,a,b) ((unsigned)((x)-(a))<=((b)-(a))) using namespace std; ],n; ]; int readint(…
无线网络 时间限制: 1.0s 内存限制: 256.0MB   问题描述 目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都固定在某个点上.任何两个无线路由器只要距离不超过 r 就能互相建立网络连接. 除此以外,另有 m 个可以摆放无线路由器的位置.你可以在这些位置中选择至多 k 个增设新的路由器. 你的目标是使得第 1 个路由器和第 2 个路由器之间的网络连接经过尽量少的中转路由器.请问在最优方案下中转路由器的最少个数是多少?   输入格式 第一行包含四个正整数 n,m,k,r.…
字符串匹配 时间限制: 1.0s 内存限制: 256.0MB 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符:当选项关闭时,表示同一个字母的大写和小写看作相同的字符.   输入格式 输入的第一行包含一个字符串S,由大小写英文字母组成. 第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感. 第三行包含一个整数n,表示给出的文字的行数. 接下…
最优配餐 时间限制: 1.0s 内存限制: 256.0MB   问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务.随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题. 栋栋的连锁店所在的区域可以看成是一个n×n的方格图(如下图所示),方格的格点上的位置上可能包含栋栋的分店(绿色标注)或者客户(蓝色标注),有一些格点是不能经过的(红色标注). 方格图中的线表示可以行走的道路,相邻两个格点的距离为1.栋栋要送餐必须走可以行走的道路,而且不能经过红色标注的点. 送餐的主要成本体现在路上…
相反数 时间限制: 1.0s 内存限制: 256.0MB 问题描述 有 N 个非零且各不相同的整数.请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数).   输入格式 第一行包含一个正整数 N.(1 ≤ N ≤ 500). 第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同.   输出格式 只输出一个整数,即这 N 个数中包含多少对相反数.   样例输入 51 2 3 -1 -2   样例输出 2   解题:... #include <…
最优灌溉 时间限制: 1.0s 内存限制: 256.0MB   问题描述 雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉. 为了灌溉,雷雷需要建立一些水渠,以连接水井和麦田,雷雷也可以利用部分麦田作为“中转站”,利用水渠连接不同的麦田,这样只要一片麦田能被灌溉,则与其连接的麦田也能被灌溉. 现在雷雷知道哪些麦田之间可以建设水渠和建设每个水渠所需要的费用(注意不是所有麦田之间都可以建立水渠).请问灌溉所有麦田最少需要多少费用来修建水渠.…
最大的矩形 时间限制: 1.0s 内存限制: 256.0MB     问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi.这n个矩形构成了一个直方图.例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3. 请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行.对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10. 输入格式 第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000). 第二行包含n 个整数h1…
有趣的数 时间限制: 1.0s 内存限制: 256.0MB   问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次. 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前. 3. 最高位数字不为0. 因此,符合我们定义的最小的有趣的数是2013.除此以外,4位的有趣的数还有两个:2031和2301. 请计算恰好有n位的有趣的数的个数.由于答案可能非常大,只需要输出答案除以1000000007的余数. 输入格式 输入只…
I’m stuck! 时间限制: 1.0s 内存限制: 256.0MB   问题描述 给定一个R行C列的地图,地图的每一个方格可能是'#', '+', '-', '|', '.', 'S', 'T'七个字符中的一个,分别表示如下意思: '#': 任何时候玩家都不能移动到此方格: '+': 当玩家到达这一方格后,下一步可以向上下左右四个方向相邻的任意一个非'#'方格移动一格: '-': 当玩家到达这一方格后,下一步可以向左右两个方向相邻的一个非'#'方格移动一格: '|': 当玩家到达这一方格后,…
我们先看一下题目:   问题描述   试题编号:         201312-3 试题名称: 最大的矩形 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi.这n个矩形构成了一个直方图.例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3. 请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行.对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10.…
2.小明种苹果(续)(100分) #include<iostream> #include<cstdio> #include<cstring> #define maxn 1010 using namespace std; int n,op,x,m,a[maxn]; long long sum; bool vis[maxn]; int main(){ //freopen("Cola.txt","r",stdin); scanf(&qu…
问题描述 试题编号: 201803-2 试题名称: 碰撞的小球 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒. 当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小. 当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小…