9 海天一树

尚未进行身份认证

教小朋友学编程,请加QQ群581357582

等级
TA的排名 815

第三届越秀区中小学生智能编程线上比赛--C++入门组题解报告

T1 时间转换#include <iostream>using namespace std;int main(){ int s; cin >> s; int hh = s / 3600 % 24; if(hh < 12) { cout << "AM "; } else { cout << "PM "; hh %= 12; }

2020-05-23 23:05:31

洛谷P1184《高手之在一起》题解报告

解法一:(一)处理空格根据题意,每一行输入的字符串可能包含空格。如果直接使用cin来读取,则cin碰到空格或换行符就不再读取。例1:#include <iostream>using namespace std;int main(){ cout << "输入字符串:"; string s; cin >> s; cout << "输出字符串:"; cout << s; return 0

2020-05-18 18:38:21

OpenJudge 1804《小游戏》题解报告

一、题目链接屠龙宝刀点击就送二、思路本题的路线可延伸到矩形板的外面,延伸多远都没关系。但是因为题目要求的是最小的线段数量,则伸出一个格子跟伸出多个格子没有区别。为了简单起见,伸出一个格子就好。这样就可以把原来的矩形板的面积增加一圈,即列从[1, w]扩大为[0, w+1],行从[1, h]扩大为[0, h+1]。本题可使用广度优先搜索来解决。每个head格子出队后,周围最多有四个不同方向的...

2020-05-06 17:37:32

OpenJudge 131《Channel Allocation》题解报告

一、题目链接二、思路相邻的两个中继器不能使用相同的频道。不相邻的中继器可以使用相同的频道并尽量使用现有频道,这样才能保证使用的频道数量最少。不同的频道可以用不同的颜色来表示,则样例中的三个网络如下图所示:网络1中,中继器A和中继器B不相邻,使用一个频道(即同色)就够。。网络2中,中继器D与中继器A不相邻,则D的频道(颜色)要与A的一样,这样才能保证使用的频道总数量最少。三、代码#...

2020-05-04 12:35:32

NOI Online第二场入门组T1《未了》题解报告

一、分析最后三个点,q和n的最大值都是20万,乘起来就是400亿。如果直接枚举会超时。所以可采用二分的方法。二、代码#include <iostream>#include <algorithm>#include <cstdio>using namespace std;const int maxN = 200000 + 5;double Time[...

2020-04-26 07:29:54

洛谷P1590《失踪的7》题解报告

解法一,70分#include <iostream>using namespace std;int main(){ int times; cin >> times; while(times--) { int n; cin >> n; int cnt = n; ...

2020-04-10 11:25:17

NOI Online入门组《文具订购》详细题解报告

解法一:80分分析:可采用暴力的方法,枚举圆规和笔的数量。笔记本的数量不要去枚举,直接计算即可。这样只需要两层循环即可。两个地方需要注意:一是班费为0元时需要特别判断;二是最少可能购买0套,比如班费为3元时,答案是“0 0 3”。代码:#include <iostream>#include <cstdio>using namespace std;int m...

2020-03-24 00:17:52

NOI Online入门组《跑步》详细题解报告

解法一:70分分析本题考察整数的拆分。可用f[i][j]来表示数字i拆分成j个数。以4为例。若用两个数来组成4,即f[4][2]。则有两种方案:{3,1}与{2,2}。{3,1}是从数字3加上数字1,得到的。{3}可表示为f[3][1]。{2,2}是从{1,1}中的每个数加1得到的。{1,1}可表示为f[2][2]。f[3][1]=f[4-1][2-1],f[2][2]=f[4-2...

2020-03-22 19:29:23

CSP-S2019学习笔记:树的重心

2019年CSP提高组考了3题跟树有关的题:《括号树》、《树上的数》和《树的重心》。《树的重心》这一题,题意比较好理解,通读两三遍题目后,再看一下样例1的解释,就能理解题意。我在学习的过程中发到有人用到了向下倍增和两次深度优先搜索,在深度优先搜索的过程中还做了换根操作。这种解法真是非常精妙,让我受益匪浅。因为之前做2018年NOIP提高组的《保卫王国》的时候,学过倍增,这次恰巧碰到这题再复习...

2020-03-04 17:54:34

洛谷P5638《光骓者的荣耀》解题报告

一、题目https://www.luogu.com.cn/problem/P5638二、分析上图是一个n = 6的样例。从城市1到城市6,需要3+2+4+5+4=18天。假如传送器的半径为2。可以逐个枚举。如果在城市1使用传送器,则一下子可到达城市3,然后城市3到城市6,需要13天。这种情况下从城市1到城市6,需要13天。如果在城市2使用传送器,则从城市1先用3天的时间到达城市2,再...

2020-02-26 22:53:46

洛谷P3717探测器解题报告

以样例1中的数据为例,共有5 * 5个格子。有两个探测器A和B,探测距离为1个格子。A能探测到的点为它本身、两个绿色的点、两个黑色的点。B能探测到的点为它本身、两个绿色的点、两个紫色的点。注意,两个黑色的点既能被A探测到,也能被B探测到,只能算一次,不要重复计算。所以总共有8个点能被探测到:俩黑色点、俩紫色点、俩绿色点、点A、点B。其他的点都不能被探测到,比如C点与B点的距离是2,不能被B...

2020-02-24 11:29:06

洛谷P1169棋盘制作题解报告

一、题目https://www.luogu.com.cn/problem/P1169二、分析以样例中的数据为例,格子共有三行三列。咱们可以按顺序枚举每个格子。求长方形的时候,可以枚举整行。求正方形的时候,要以当前的格子作为正方形右下角的格子。i = 1, j = 1时,矩形的宽度是3,高度是1,则矩形的面积是3,如图A的整个图形所示。以第一行第一列作为右下角格子的最大正方形的边长是1,...

2020-02-20 20:53:11

USACO 2020年1月铜级比赛题解报告

T1 Word Processor题目http://www.usaco.org/index.php?page=viewproblem2&cpid=987分析判断每一行加上新单词后的长度(空格不计算在长度之内),若加上新单词后长度超过K,则新单词要另起一行。注意每行的最后一个单词右边不能有空格。AC代码#include <iostream>#include <...

2020-02-19 11:01:47

小朋友学C++:文件输入输出

前面介绍的程序,都是通过控制台或命令行窗口来输入输出的。更具体地讲,Codeblocks中输入输出数据的那个窗口叫做控制台窗口,DevC++则是调用命令行窗口进行输入输出。C语言使用scanf()/printf()函数来实现控制台/命令行窗口输入输出,C++使用cin/cout输入输出流来实现控制台/命令行窗口输入输出。当然,因为C++兼容C语言,所以C++中也可以使用scanf()/print...

2020-02-18 17:47:31

CSP-S2019学习笔记:Emiya家今天的饭

题目名称看样子灵感来自于日本动画片“卫宫家今天的饭”。这道题的难度是“提高+/省选-”,算是提高组里比较难的。数据范围分的很细,解题方法跟数据范围关系比较大。对于新手来说,可以从数据范围入手,一步一步推导出最终的正解。前8组数据,n不超过10,m等于2或3。可以直接用深度优先搜索暴力枚举所有的组合情况。第9~16组数据,n为40,m仍然等于2或3。因为n比较大,若仍然用暴力枚举,则会超时。考...

2020-02-15 22:35:06

安装VSCode并配置C++编程环境

一、下载并安装VSCode(1)从https://code.visualstudio.com/ 下载最新版的VSCode并安装。(2)安装的过程中,要勾选“需要添加到PATH”中。二、安装MinGWVSCode本身只是一款文本编辑器,可以编写C/C++或其他语言的代码,但是没法编译和调试。所以还需要安装相应语言的编译器和调试器。MinGW中包含了C语言编译器gcc.exe,C++编译...

2020-02-13 21:36:00

洛谷黑题学习笔记(1):树上的数

这题是CSP-S2019第二轮考试的第一天的第3题。洛谷上大家对CSP-S2019六道题的难度评级为题目难度等级难度颜色T1 格雷码1级:普及-橙色T2 括号树4级:普及+/提高绿色T3 树上的数7级:NOI/NOI+/CTSC深蓝色T4 Emiya家今天的饭5级:提高+/省选-浅蓝色T5 划分6级:省选/NOI-紫色T6 ...

2020-02-08 13:39:57

2019年北京西城区青少年人工智能创意编程活动小学组试题参考答案

一、客观题1 C2 C3 B4 B分析:这是NOIP2017普及组的第1道选择题。由负数的补码求原码有两种方式。一是减1取反,二是取反加1。第二种方法的原理为负数的补码的补码为原码。5 A二、完成程序T2#include <cstdio>int main(){ freopen("T2.in", "r", stdin); freopen("T2.o...

2019-06-04 00:00:50

小朋友学C语言(1):安装Codeblocks编程工具

一、编译器编译器是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的工具。一个现代编译器的主要工作流程:源代码(source code) -->预处理器 (preprocessor) -->编译器 (compiler) -->目标代码 (object code) -->链接器 (linker) -->可执行程序 (executables)。高...

2019-06-03 12:02:42

2019年北京青少年信息学科普日活动朝阳区选拔赛小学组参考答案

1 求长方形的周长和面积#include <iostream>#include <cstdio>using namespace std;int main(){ freopen("rectangle.in", "r", stdin); freopen("rectangle.out", "w", stdout); int length, w...

2019-05-26 19:10:06

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。