程序设计作业
heiyizhilong
这个作者很懒,什么都没留下…
展开
-
Week6作业ABCD
A题: 实验室里原先有一台电脑(编号为1),最近氪金带师咕咕东又为实验室购置了N-1台电脑,编号为2到N。每台电脑都用网线连接到一台先前安装的电脑上。但是咕咕东担心网速太慢,他希望知道第i台电脑到其他电脑的最大网线长度,但是可怜的咕咕东在不久前刚刚遭受了宇宙射线的降智打击,请你帮帮他。 Input 输入文件包含多组测试数据。对于每组测试数据,第一行一个整数N (N<=10000),接下来有N-1行,每一行两个数,对于第i行的两个数,它们表示与i号电脑连接的电脑编号以及它们之间网线的长度。网线的总长度不原创 2020-06-30 17:10:40 · 143 阅读 · 0 评论 -
Week10作业ABC
A题: 东东在玩游戏“Game23”。 在一开始他有一个数字n,他的目标是把它转换成m,在每一步操作中,他可以将n乘以2或乘以3,他可以进行任意次操作。输出将n转换成m的操作次数,如果转换不了输出-1。 代码: #include<bits/stdc++.h> using namespace std; int main() { int n,m; cin >> n >> m; int c=0; if(m%n!=0) { cout << -1 <原创 2020-06-30 16:51:40 · 102 阅读 · 0 评论 -
Week15实验
A题: Q 老师有 N 个学生,每个学生都有各自独立的编号,且编号范围在 1 ~ N 之间。 这一天,所有学生都在不同的时间进入教室。 Q 老师记录了当编号为 i 的学生进入教室时,教室中共有 Ai 个学生(包括编号为 i 的学生)。 现要求根据这些记录,给出学生进入教室的顺序。 代码: #include<iostream> #include<algorithm> using namespace std; int a[100000]; int main() { int N,y;原创 2020-06-28 18:02:41 · 208 阅读 · 0 评论 -
Week14作业ABC
A题: 题目: 每一个大人曾经都是一个小孩,Q老师 也一样。 为了回忆童年,Q老师 和 Monika 玩起了石头剪刀布的游戏,游戏一共 n 轮。无所不知的 Q老师 知道每一轮 Monika 的出招,然而作为限制, Q老师 在这 n 轮游戏中必须恰好出 a 次石头,b 次布和 c 次剪刀。 如果 Q老师 赢了 Monika n/2(上取整) 次,那么 Q老师就赢得了这场游戏,否则 Q老师 就输啦! Q老师非常想赢,他想知道能否可以赢得这场游戏,如果可以的话,Q老师希望你能告诉他一种可以赢的出招顺序,任意一种都原创 2020-06-28 17:58:56 · 100 阅读 · 0 评论 -
Week15 作业A
A题: ZJM 为了准备霍格沃兹的期末考试,决心背魔咒词典,一举拿下咒语翻译题 题库格式:[魔咒] 对应功能 背完题库后,ZJM 开始刷题,现共有 N 道题,每道题给出一个字符串,可能是 [魔咒],也可能是对应功能 ZJM 需要识别这个题目给出的是 [魔咒] 还是对应功能,并写出转换的结果,如果在魔咒词典里找不到,输出 “what?” 代码: //#pragma GCC optimize(2) //#pragma G++ optimize(2) #include <iostream> #incl原创 2020-06-28 17:51:43 · 75 阅读 · 0 评论 -
Week13作业
A题: 这一天,TT 遇到了一个神秘人。 神秘人给了两个数字,分别表示 n 和 k,并要求 TT 给出 k 个奇偶性相同的正整数,使得其和等于 n。 例如 n = 10,k = 3,答案可以为 [4 2 4]。 TT 觉得这个任务太简单了,不愿意做,你能帮他完成吗? 本题是SPJ 代码: #include<bits/stdc++.h> using namespace std; int t,k,n; int main() { cin >> t; while(t--) { ci原创 2020-06-28 17:49:33 · 86 阅读 · 0 评论 -
Week12作业ABC
A题: 给出n个数,zjm想找出出现至少(n+1)/2次的数, 现在需要你帮忙找出这个数是多少? 代码: #include<bits/stdc++.h> using namespace std; int n,m; int sum[1000005]; int main() { while(scanf("%d",&n)!=EOF) { memset(sum,0,sizeof(sum)); for(int i=1;i<=n;i++) { cin >> m原创 2020-06-28 17:38:56 · 90 阅读 · 0 评论 -
Week11作业
A题: 蒜头君从现在开始工作,年薪 N 万。他希望在蒜厂附近买一套 60 平米的房子,现在价格是 200 万。假设房子价格以每年百分之 K 增长,并且蒜头君未来年薪不变,且不吃不喝,不用交税,每年所得 N 万全都积攒起来,问第几年能够买下这套房子?(第一年年薪 N 万,房价 200 万) 代码: #include<bits/stdc++.h> using namespace std; int main() { int n,k,x=1; cin >> n >> k;原创 2020-06-28 17:33:14 · 100 阅读 · 0 评论 -
Week10限时大模拟
A题:签到题 东东有一个字符串X,该串包含偶数个字符,一半是 S 字符,一半是 T 字符 东东可以对该字符串执行 1010000 次操作:如果存在 ST 是该串的子串,则删除掉最左边的 ST。 即 TSTTSS⇒TTSS、SSSTTT⇒SSTT⇒ST⇒空 代码: #include<bits/stdc++.h> #include<stack> using namespace std; int main() { char s[200010]; scanf("%s",&s);原创 2020-06-28 17:12:11 · 85 阅读 · 0 评论 -
Week9作业ABC
A题:咕咕东的雪梨电脑的操作系统在上个月受到宇宙射线的影响,时不时发生故障,他受不了了,想要写一个高效易用零bug的操作系统 —— 这工程量太大了,所以他定了一个小目标,从实现一个目录管理器开始。前些日子,东东的电脑终于因为过度收到宇宙射线的影响而宕机,无法写代码。他的好友TT正忙着在B站看猫片,另一位好友瑞神正忙着打守望先锋。现在只有你能帮助东东! 初始时,咕咕东的硬盘是空的,命令行的当前目录为根目录 root。 目录管理器可以理解为要维护一棵有根树结构,每个目录的儿子必须保持字典序。 实现代码: #in原创 2020-06-28 16:58:45 · 123 阅读 · 0 评论 -
Week8 作业ABC
A题: 给定一个数轴上的 n 个区间,要求在数轴上选取最少的点使得第 i 个区间 [ai, bi] 里至少有 ci 个点,使用差分约束系统的解法解决这道题! 实现代码: #include<iostream> #include<stdio.h> #include<string.h> #include<queue> #include<algorithm> using namespace std; const int maxn=5e5+5; const原创 2020-06-28 16:55:16 · 93 阅读 · 0 评论 -
Week7 ABC
A题: 众所周知,TT 有一只魔法猫。 这一天,TT 正在专心致志地玩《猫和老鼠》游戏,然而比赛还没开始,聪明的魔法猫便告诉了 TT 比赛的最终结果。TT 非常诧异,不仅诧异于他的小猫咪居然会说话,更诧异于这可爱的小不点为何有如此魔力? 魔法猫告诉 TT,它其实拥有一张游戏胜负表,上面有 N 个人以及 M 个胜负关系,每个胜负关系为 A B,表示 A 能胜过 B,且胜负关系具有传递性。即 A 胜过 B,B 胜过 C,则 A 也能胜过 C。 TT 不相信他的小猫咪什么比赛都能预测,因此他想知道有多少对选手的胜原创 2020-06-28 16:18:51 · 72 阅读 · 0 评论 -
Week6限时大模拟
A题: 从瑞神家打牌回来后,东东痛定思痛,决定苦练牌技,终成赌神! 东东有 A × B 张扑克牌。每张扑克牌有一个大小(整数,记为a,范围区间是 0 到 A - 1)和一个花色(整数,记为b,范围区间是 0 到 B - 1。 扑克牌是互异的,也就是独一无二的,也就是说没有两张牌大小和花色都相同。 “一手牌”的意思是你手里有5张不同的牌,这 5 张牌没有谁在前谁在后的顺序之分,它们可以形成一个牌型。 我们定义了 9 种牌型,如下是 9 种牌型的规则,我们用“低序号优先”来匹配牌型,即这“一手牌”从上到下满足的原创 2020-06-28 16:11:19 · 100 阅读 · 0 评论 -
Week5作业ABC
题目A: 给一个直方图,求直方图中的最大矩形的面积。例如,下面这个图片中直方图的高度从左到右分别是2, 1, 4, 5, 1, 3, 3, 他们的宽都是1,其中最大的矩形是阴影部分。 Input 输入包含多组数据。每组数据用一个整数n来表示直方图中小矩形的个数,你可以假定1 <= n <= 100000. 然后接下来n个整数h1, …, hn, 满足 0 <= hi <= 1000000000. 这些数字表示直方图中从左到右每个小矩形的高度,每个小矩形的宽度为1。 测试数据以0结尾。原创 2020-06-28 16:07:41 · 100 阅读 · 0 评论 -
Week4作业ABC
题目A: ZJM 有 n 个作业,每个作业都有自己的 DDL,如果 ZJM 没有在 DDL 前做完这个作业,那么老师会扣掉这个作业的全部平时分。 所以 ZJM 想知道如何安排做作业的顺序,才能尽可能少扣一点分。 请你帮帮他吧! Input 输入包含T个测试用例。输入的第一行是单个整数T,为测试用例的数量。 每个测试用例以一个正整数N开头(1<=N<=1000),表示作业的数量。 然后两行。第一行包含N个整数,表示DDL,下一行包含N个整数,表示扣的分。 Output 对于每个测试用例,您应该输出原创 2020-06-13 00:59:14 · 94 阅读 · 0 评论 -
Week3作业C区间覆盖
题目: 数轴上有 n (1<=n<=25000)个闭区间 [ai, bi],选择尽量少的区间覆盖一条指定线段 [1, t]( 1<=t<=1,000,000)。 覆盖整点,即(1,2)+(3,4)可以覆盖(1,4)。 不可能办到输出-1 Example: input: 3 10 1 7 3 6 6 10 output: 2 我的思路: 对于这个题目,按照什么排列给定的区间 也很重要! 有两种方法,一个是优先按照区间左端点排列,左端点相同的区间,按照右端点排列。另一个方法是优先按照区原创 2020-06-13 00:39:08 · 111 阅读 · 0 评论 -
Week3作业B区间选点
题目: 数轴上有 n 个闭区间 [a_i, b_i]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个) input: 第一行1个整数N(N<=100) 第2~N+1行,每行两个整数a,b(a,b<=100) output: 一个整数,代表选点的数目 Example: input: 2 1 5 4 6 output: 1 input: 3 1 3 2 5 4 6 output: 2 我的思路: 利用贪婪算法,先选出最小的终点值,然后略去后面的包含此点的区间,以此类推,每原创 2020-06-13 00:33:41 · 100 阅读 · 0 评论 -
Week3作业一
Week3 作业一@TOC 题意: 给定n,s,k以及n个数,然后用n个数中的k个加起来刚好等于s。 input: 第一行为测试数据量; 第二行为n,k,s; 第三行为n个数 output: 满足题意要求的情况总数。 Example: input: 1 10 3 10 1 2 3 4 5 6 7 8 9 10 output: 4 思路: 利用递归,递归的深度即为k值,递归的终点即为K个值得和为s. 首先明确递归函数的终点,达到要求则count++,返回上一层循环,否则直接略过。 其次要明白循环的过程,首原创 2020-06-13 00:23:03 · 126 阅读 · 0 评论