
ccf
闪灵大妈
人丑心善
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
201903-1 小中大
java里面如果用scanner.nextInt()一个一个地去读一定会超时我是用scanner.nextLine()把一行都读进来,然后split之后只取想要的(第一个,最后一个,和中间的一个或者两个)java 满分代码import java.util.Arrays;import java.util.Scanner;public class Main { public...原创 2019-12-12 14:06:17 · 240 阅读 · 0 评论 -
201903-2 二十四点
中缀表达式求值:用两个栈,一个存操作符,一个存操作数。需要注意的就是,如果当前遍历到的操作符的优先级小于或者等于操作符栈的栈顶操作符,那么就需要取出栈顶操作符和两个栈顶操作数进行运算。java满分代码import java.util.LinkedList;import java.util.Scanner;public class Main { public static v...原创 2019-12-11 15:56:02 · 205 阅读 · 0 评论 -
201709-1 打酱油
首先看钱有几个50,先买5送2的然后看剩下的够几个30,再买3送1最后看剩下的够几个10,买单瓶的奉上java满分代码import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(Syst...原创 2018-12-14 05:58:33 · 273 阅读 · 0 评论 -
201712-2 游戏
判断报的数是否要被淘汰使用number % k == 0 || String.valueOf(number).endsWith(String.valueOf(k)),确定要被淘汰的小朋友加入remove数组中,一轮结束后再一起淘汰,不然会出现下标错误。注意经过的一轮的淘汰后可能没有剩下小朋友了,所以要取出最后一个被淘汰的或者唯一没有被淘汰的小朋友输出。奉上java满分代码import j...原创 2018-12-14 05:35:17 · 628 阅读 · 0 评论 -
201712-1 最小差值
import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int n = Integer.parseInt(scanner.nextLine()); ...原创 2018-12-14 05:01:22 · 310 阅读 · 0 评论 -
201803-1 跳一跳
除了记分需要一个变量外,还需一个变量记录上次得分。如果当前跳到了中心点,那么需要知道上次得分来计算当前的分。即如果上次得分<2,那么当前的分为2,否则当前的分为上次得分+2奉上java满分代码import java.util.Scanner;public class Main{ public static void main(String[] args){ ...原创 2018-12-14 04:47:46 · 525 阅读 · 2 评论 -
201803-2 碰撞的小球
封装小球对象,属性包括位置,方向(向右为1,向左为-1)。移动时pos += dir 就可以了;转换方向就是 dir *= -1。记得在小球到达绳子边界和与其他小球位置相同时要转向。奉上java满分代码import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Mai...原创 2018-12-14 04:36:41 · 402 阅读 · 2 评论 -
201803-3 URL映射
很幸运地参加了这次考试,因为这个第三题对我这么一个爱正则的人来说,太顺手了。没错,拿到满分全靠运气原创 2018-12-14 04:16:23 · 402 阅读 · 5 评论 -
201503-3 节日
假设某年某月某日距离1850-01-01有d天,则当天是星期(d%7)+2(若结果是8则是星期一)。需要注意题目要求算出y1,y2中所有年份的节日,而不是只算y1和y2的,这个错误我犯了两次,智障到自己都不信原创 2018-12-06 14:19:49 · 250 阅读 · 0 评论 -
201503-2 数字排序
一种时间复杂度为O(n)的方法使用HashMap存储每个值及其出现次数,然后使用TreeSet对其进行排序满分java代码如下import java.util.*;public class Main { static class Data implements Comparable<Data>{ public int number; ...原创 2018-12-06 13:53:50 · 258 阅读 · 0 评论 -
201503-1 图像旋转
写这个题的时候遇到了一件非常奇怪的事情,如果我用scanner.nextInt()来读取数据的话,会报内存超限错误,只能得到80分,使用内存为293M,代码如下import java.util.*;public class Main { public static void main(String[] args) { Scanner scanner = new ...原创 2018-12-06 13:40:53 · 224 阅读 · 0 评论 -
201403-2 Z行扫描
奉上java满分代码import java.util.*;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int[][]...原创 2018-12-06 00:47:31 · 231 阅读 · 0 评论 -
201403-1 门禁系统
奉上java满分代码import java.util.*;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); HashMap...原创 2018-12-06 00:34:55 · 267 阅读 · 0 评论 -
201709-2 公共钥匙盒
我觉得是第二题里面最难的,然后这次认证的第三题也是我觉得最难的原创 2018-12-14 06:21:52 · 444 阅读 · 1 评论 -
201712-3 Crontab(90分)
代码的得分90分,评测结果是内存超限。思路主要是使用一个类来封装CronTab信息,包括命令及其执行时间。其中执行时间使用布尔数组List来存储,顺序是minutes,hours,dayOfMonth,month,和dayOfWeek。使用while循环每分钟遍历一遍crontab查看是否有匹配当前时间的命令,当前时间的分钟小时月份信息通过calendar的get来获取。java90分代码...原创 2018-12-07 11:15:48 · 468 阅读 · 0 评论 -
201509-1 数列分段
lastNum记录上一个数字,如果不一样,则计数器加一。注意lastNum的初始值要赋为-1,因为题目中合法的数字是0-1000奉上java满分代码import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner scanner = new S...原创 2018-12-07 13:27:21 · 298 阅读 · 0 评论 -
201812-2 小明放学(python满分)
去年考试卡在这道题上了,总是想着怎么写得漂亮点,所有的时间都花在这道题上了,也只拿了60分原创 2019-03-15 11:23:08 · 496 阅读 · 0 评论 -
201612-1 中间数
时间复杂度是n方,外循环遍历数组,内循环统计数目奉上java满分代码import java.util.*;public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int n = Integer.par...原创 2018-12-11 15:09:14 · 245 阅读 · 0 评论 -
201612-3 权限查询
前面几行的权限信息我直接跳过没有用,因为题目已经保证了输入的合法性。(其实这么做的时候,我还是有点心慌的,因为有一次参赛的时候,使用了自以为高明的方法结果只拿了10分原创 2018-12-11 15:23:45 · 336 阅读 · 0 评论 -
201612-2 工资计算
这道题可以通过题目的条件反推出计算工资的方程式。我觉得如果我参加考试的话,在考场上应该没有办法冷静下来推算方程式诶。所以我使用暴力破解。因为找到答案后就会跳出循环,这样也不会超时。奉上java满分代码import java.util.*;public class Main{ static class Tax{ public int max; ...原创 2018-12-11 15:17:01 · 369 阅读 · 0 评论 -
201609-3 炉石传说
其实这个题并不难,使用面向对象,按照题目思路一步一步走就可以拿到满分。为了使代码更加简洁,我使用一个HahsMap来存储先手玩家和后手玩家,键分别是1和-1,这样每次end的时候把当前玩家的键乘以-1就可以获得另一个玩家。召唤随从和攻击随从时题目给出的索引是从1开始的,所以我用一个list来存放玩家的英雄和随从,其中英雄的下标为0,随从的下标往后顺。奉上java满分代码import ...原创 2018-12-10 16:36:02 · 352 阅读 · 6 评论 -
201609-2 火车购票
座位是否可坐的情况用一个二维数组布尔存储,记为seats,行列固定为20*5。输出座位编号的时候需要转化下,如seats[i][j]的号码应该是5*i + j + 1。座位找到后要及时break,提高时间效率奉上java满分代码import java.util.*;public class Main{ private static final int rows = 20, c...原创 2018-12-10 16:31:35 · 274 阅读 · 0 评论 -
201609-1 最大波动
下标从1开始遍历数组,使用一个max变量来记录最大的差值。差值使用Math.abs来计算奉上java满分代码import java.util.*;public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); i...原创 2018-12-10 16:25:50 · 232 阅读 · 0 评论 -
201604-4 游戏
题目看下来觉得果断用bfs啊,危险的时间段用一个三维数组来存储就可以了。按照这个思路编下来,发现结果不对。仔细看题目给的例子,发现访问过的点可以多次访问,就果断把visited数组的判断去掉,提交之后发现得了二十分,运行超时,用脚趾头想想也觉得会超时啊原创 2018-12-09 15:50:34 · 334 阅读 · 0 评论 -
201604-1 折点计数
遍历数组,下标从1到n-2,获取到前一个点,当前点,和下一个点,如果当前点是三个值中最小或者最大的,那么这个点就是折点满分java代码import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(...原创 2018-12-09 15:44:18 · 229 阅读 · 0 评论 -
201509-3 模版生成系统
使用hashmap来存储变量和它对应的值,使用Pattern来匹配{{ var }}模式的字符串,个人感觉这道题用正则表达式很简便。奉上java满分代码import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Scanner;import java.util...原创 2018-12-07 13:56:03 · 196 阅读 · 0 评论 -
201509-2 日期计算
思路是对于给定的天数days,遍历每个月份的天数d,每次days递减d,如果小于0了,说明就是当前月份,做减法之前剩余的天数就是日子。只要注意闰年的时候2月有29天,然后测试下边界数据,比如说每个月的第一天和最后一天,每年的第一天和最后一天。PS:我觉得用java写的话,这个题还有个小技巧,就是可以用calendar,这样完全不用算原创 2018-12-07 13:38:46 · 251 阅读 · 0 评论 -
201409-3 字符串匹配
这道题简单到 我怀疑它真的是第三题么原创 2018-12-06 00:29:50 · 222 阅读 · 0 评论 -
201409-2 画图
用一个二维数组来存储已经上过色的方块,每个方块由其左下角的坐标表示奉上java满分代码import java.util.*;public class Main { public static void main(String[] args) { boolean[][] colored = new boolean[100 + 1][100 + 1]; ...原创 2018-12-06 00:24:16 · 391 阅读 · 0 评论 -
201809-3 元素选择器(100分)
1、首先标签选择器和id选择器是很简单的,只需要注意标签大小写不敏感,id大小写敏感就可以拿到50分了2、难的是后代选择器,按照题目给的思路,先找到所有满足最后一个选择器的元素列表,然后遍历这些元素,如果存在父级元素满足条件则继续搜索,否则说明这个元素不匹配选择器,将其移除。最后剩下的元素就是答案啦。PS:作为一个人工智障,我不得不吐槽下我自己,这道题的考试的时候只拿了10分原创 2018-12-05 15:06:17 · 743 阅读 · 1 评论 -
201809-2 买菜
使用一个布尔数组来存储小H的时间段,在输入小W的时间段时,如果发现与小H的重合,计数器就加一java100分代码如下。import java.util.Scanner;public class Main { public static void main(String[] args) { boolean[] times = new boolean[10000...原创 2018-12-05 12:59:53 · 580 阅读 · 0 评论 -
201809-1 卖菜
注意对边界元素进行特殊处理就可以啦。100分的java代码如下。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = Inte...原创 2018-12-05 12:51:56 · 1031 阅读 · 0 评论 -
201604-2 俄罗斯方块
最重要的是找到要下落的行数,移动的列数是起始位置-1下落的列数是计算下落方块数组中为1的位置可以下落的距离,整体下降距离是这些距离中最小的。import java.util.Scanner;public class Main{ public static void main(String[] args){ int rows = 15; int...原创 2018-09-15 15:46:30 · 458 阅读 · 2 评论 -
201709-3 JSON查询
自从会了正则表达式后,什么都要用,这个题用正则反倒麻烦了。使用正则时,我卡在了多层对象的正则式上,因为百分之80的测试数据只有两层结构,我就只得了八十分。其实只要遍历json的每一个字符,使用hashmap来存储键和值,再加上栈来判断当前的键值时属于哪个对象就可以了。一下代码得分100,耗时187msimport java.util.*;public class Main {...原创 2018-09-10 15:29:30 · 373 阅读 · 0 评论 -
201412-3 集合竞价
题目看起来并不难,按照题目的要求,一步一步编就可以。第一次提交只有80分,把成交量改为long之后得了100分。囧import java.util.ArrayList;import java.util.List;import java.util.Scanner;class Bill{ public float price; public int count; ...原创 2018-09-12 23:04:03 · 303 阅读 · 0 评论 -
ccf 201612-02工资计算 java(100分)
没有使用分段函数的方法计算出税前工资,使用的是暴力破解,比较不费脑import java.util.ArrayList;import java.util.List;import java.util.Scanner;class TaxRate{ public int min; public int max; public float rate; pu...原创 2018-09-12 13:56:09 · 377 阅读 · 0 评论 -
CCF 2017-3 03-Markdown java(100分)
1、对每行输入数据,使用replaceAll替换其中满足行内标签的数据2、使用stringbuffer将替换数据存下来,然后用回车切割下数据就得到每个区块数据3、对于每个区块数据来说,它要么匹配标题格式,要么匹配列表格式,若都不匹配,那么它就是普通的段落奉上java满分代码import java.util.Scanner;import java.util.regex.Match...原创 2018-09-11 23:51:30 · 574 阅读 · 3 评论 -
ccf历年第四题java解答之-201503-4-网络延时(90分)
使用bfs求树的直径,运行超时,90分import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;class Node{ public int no; public int step; public Node(int no, int step) { t...原创 2018-08-28 10:19:45 · 270 阅读 · 0 评论 -
201412-4 最优灌溉
使用kruskal求解,耗时943ms,得分100徘徊在超时的边缘,同样的代码,有时候提交是100分,有时候是超时90分,还有时候是超时80分==import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Scanner;class Node imp...原创 2018-08-28 09:52:39 · 322 阅读 · 0 评论 -
201403-4 最优配餐
使用bfs求解(运行超时,80分)import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;class Node{ public int x; public int y; public int step; public Node(int x, int y, ...原创 2018-08-28 09:34:32 · 432 阅读 · 0 评论