CCF
王文波~
清。。
展开
-
201712-2
#include<iostream>using namespace std; const int N = 1010;int flag[N];int main(){ int n, k; cin >> n >> k; for(int i = 1; i <= n; i ++){ flag[i] = i; } int index = 1, num = 0; for(int i = 1; num != n-1; i ++){ if(i%k=原创 2020-10-06 19:48:39 · 124 阅读 · 0 评论 -
201712-1
#include <iostream>#include <cmath>using namespace std; const int N = 1010;int a[N];int main(){ int n; cin >> n; for(int i = 0;i < n; i ++){ cin >> a[i]; } int ans = 1010; for(int i = 0; i < n; i ++){ for(in原创 2020-10-06 19:38:44 · 83 阅读 · 0 评论 -
201604-4--------------游戏
#include <iostream>#include <queue>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;struct node{ int x,y,step;};const int N = 110, M = 310; bool st[N][N][M];int n, m, t;int r, c, a, b;voi原创 2020-08-24 18:53:59 · 105 阅读 · 0 评论 -
通信网络-------201709-4
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 1010, M = 10010;int h[N], e[M], ne[M], idx;void add(int a, int b){ e[idx] = b, ne[idx] = h[a], h[a] = idx ++;}int原创 2020-08-24 16:26:22 · 82 阅读 · 0 评论 -
201512-4------------送货
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 1e4 + 500;int n, m;bool g[N][N];int d[N];int ans[N], cnt1;int p[N];int find(int x){ if (x != p[x]) p[x] = find原创 2020-08-23 16:12:34 · 94 阅读 · 0 评论 -
201609-4-----------交通规划
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#include <vector>using namespace std;const int N = 10010, M = 100010, INF = 0x3f3f3f3f;typedef pair<int, int> PII;i原创 2020-08-23 16:10:04 · 97 阅读 · 0 评论 -
201509-4-----------高速公路
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 10010, M = 100010;int n, m;int h[N], e[M], ne[M], idx;int dfn[N], low[N], timestamp;int stk[N], top;bool in_stk[N原创 2020-08-21 15:35:27 · 77 阅读 · 0 评论 -
201412-3------------集合竞价
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 5010;struct node{ string type; double p; int num;};node rec[N], sell[N], buy[N];bool cmp_buy(node a, node b){ r原创 2020-08-21 13:33:54 · 122 阅读 · 0 评论 -
201703-3------Markdown
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;string ex_p(string str){ int num=0;//??????????? for(int i=0;i<str.size();i++){ if(str[i]=='_'){ num++; if(num%2==1原创 2020-08-21 11:42:56 · 86 阅读 · 0 评论 -
Micro-World
You have a Petri dish with bacteria and you are preparing to dive into the harsh micro-world. But, unfortunately, you don’t have any microscope nearby, so you can’t watch them.You know that you have n bacteria in the Petri dish and size of the i-th bacter原创 2020-07-31 22:40:39 · 219 阅读 · 0 评论 -
游戏
问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。游戏开始,从1号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加1。若一个小朋友报的数为k的倍数或其末位数(即数的个位)为k,则该小朋友被淘汰出局,不再参加以后的报数。当游戏中只剩下一个小朋友时,该小朋友获胜。例如,当n=5, k=2时:1号小朋友报数1;2号小朋友报数2淘汰;3号小朋友报数3;4号小原创 2020-07-27 12:51:43 · 363 阅读 · 0 评论 -
学生排队
问题描述 体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。例如,下面给出了一组移动的例子,例子中学生的人数为8人。0)初始队列中学生的学号依次为1, 2, 3, 4, 5, 6, 7, 8;1)第一次调整,命令为“3号同学向后移动2”,表示3号同学出队,向后移动2名同学的距离,再插入到队列中,新队列中学生的学号依次为1, 2, 4, 5, 3, 6, 7, 8原创 2020-07-27 11:21:14 · 373 阅读 · 0 评论 -
火车购票
问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安排在编号最小的几个空座位中(不考虑是否相邻)。假设初始时车票全部未被购买,现在给了一些购票指令,请你处理这些指令。输入格式 输入原创 2020-07-27 10:24:19 · 125 阅读 · 0 评论 -
ISBN号码
问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。识别码的计算方法如下:首位数字乘以1加上次位数字原创 2020-07-27 09:24:17 · 1308 阅读 · 0 评论 -
窗口
问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。如果你点击的位置不属于任何窗口,则系统会忽略你这次点击。现在我们希望你写一个程序模拟点击窗口的过程。输入格式 输入的第一行有两个正整数,即 N 和 M。(1 ≤ N原创 2020-07-27 09:03:05 · 262 阅读 · 0 评论 -
稀疏向量
#include<iostream>#include<vector>using namespace std;struct nn{ int ia; int ib;};struct mm{ int ic; int id;};vector<nn>a;vector<mm>b;int main(){ int n,m,s; scanf("%d%d%d",&n,&m,&s); for(int i=1;i<=原创 2020-07-22 10:35:25 · 203 阅读 · 0 评论 -
Z字形扫描
问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示:对于下面的4×4的矩阵,1 5 3 93 7 5 69 4 6 47 3 1 3对其进行Z字形扫描后得到长度为16的序列:1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3请实现一个Z字形扫描的程序,给定一个n×n的矩阵,输出对这个矩阵进行Z字形扫描的结果。输入格式 输入的第一行包含一个整数n,表示矩阵的大小。输入的第二行到第n+原创 2020-07-18 13:28:51 · 247 阅读 · 0 评论 -
俄罗斯方块
俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏。游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块。每一轮,都会有一个新的由4个小方块组成的板块从方格图的上方落下,玩家可以操作板块左右移动放到合适的位置,当板块中某一个方块的下边缘与方格图上的方块上边缘重合或者达到下边界时,板块不再移动,如果此时方格图的某一行全放满了方块,则该行被消除并得分。在这个问题中,你需要写一个程序来模拟板块下落,你不需要处理玩家的操作,也不需要处理消行和得分。具体的,给定原创 2020-07-18 12:32:28 · 199 阅读 · 0 评论 -
碰撞的小球
问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动。现在,告诉你线段的长度L,小球数量n,以及n个小球的初始位置,请你计算t秒之后,各个小球的位置。提示 因为所有小球的初始位原创 2020-07-15 18:52:05 · 215 阅读 · 0 评论 -
公共钥匙盒
问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家。每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中。钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙。一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙。每次取钥匙的时候,老师们都会找到自己所需要的钥匙将其取走,而不会移动其他钥匙。每次还钥匙的时候,还钥匙的老师会找到最左边的空的挂钩,将钥匙挂在这个挂钩上。如果有多位老师还钥匙原创 2020-07-14 17:50:54 · 2396 阅读 · 0 评论 -
数字排序
问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式 输入的第一行包含一个整数n,表示给定数字的个数。第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式 输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。样例输入125 2 3 3 1 3 4 2 5 2 3 5样例输出3 42 35 31 14 1评测用例规模与约定原创 2020-07-10 11:41:02 · 803 阅读 · 0 评论 -
CCF201812-2 小明放学(100分)
题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。问题描述 一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,看到了出发时刻路上经过的所有红绿灯的指示状态。请帮忙计算小明此次回家所需要的时间。输入格式 输入的第一行包含空格分隔原创 2020-05-16 15:57:22 · 251 阅读 · 0 评论 -
CCF201903-2 二十四点
一开始50分失败代码#include <iostream>#include <cstdio>#include <cstring>#include <stack>using namespace std;int q[4];char op[5]; stack<int> stk;bool isjiajian(char c){ if (c == '+' || c == '-') return true; return false;.原创 2020-05-16 14:50:27 · 137 阅读 · 0 评论 -
CCF201909-2 小明种苹果(续)(100分)
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 1010;int cnt1[N];bool st[N];int t;int main(){ memset(cnt1, 0, sizeof cnt1); memset(st, 0, sizeof st); int n; s.原创 2020-05-10 17:47:31 · 132 阅读 · 0 评论