青少年编程知识记录 codecoming

【题解】盈亏问题

【题目描述】

一群人团购一件物品:

如果每人出 a元,所付总金额比物价多出了x 元;

如果每人少出 1元,也就是每人出a-1元,所付总金额比物价少了y元。

给定 a,x,y求参与团购的人数及该物品的价格。

【输入描述】

单独一行:三个整数:a,x及y

【输出描述】

单独一行:两个整数。第一个整数表示参与的人数,第二个整数表示物品的价格,中间用一个空格分开。

【样例输入】

8 3 4

【样例输出】

7 53

【数据范围】

  • 1≤a≤1000

  • 1𝑥10001≤x≤1000

  • 1𝑦10001≤y≤1000



作者:亿万年的星光 分类:C++知识 浏览:

【题解】感应门

【题目描述】

感应门会在有人经过的时候自动打开,冷却d 秒后自动关闭。如果有人在感应门打开的状态下通过,那么冷却时间会重置,重新冷却d秒后再关闭。

在一段时间内,有 n个人陆续通过了感应门,他们通过感应门的时间点分别是t1,t2,⋯,tn,请计算感应门一共开放了多少时间。

【输入描述】

第一行:两个整数n与d,n表示通过感应门的人数,d表示感应门的冷却时间。

第二行:n个整数t1,t2,⋯,tn,每个数字表达一个人通过感应门的时间点。

【输出描述】

单个整数,表示感应门总共开启了多少时间。

【样例输入】

7 3  1 2 7 10 15 17 22

【样例输出】

18

【数据范围】

对于 50% 的数据,1≤n≤1000;  对于 100% 的数据,1≤n≤100,000;  1≤t1≤t2≤t3≤⋯≤tn≤1,000,000,000;  1≤d≤1,000,000,000。
作者:亿万年的星光 分类:题解目录 浏览:

2019年CSP-J 初赛题目及答案解析

扫码关注下面微信公共号,发送“CSPJ2019”获取文章答案查看详细解题过程:原版初赛题目下载链接:CSP-J相关资料 - 青少年编程知识记录 (codecoming.com)答案:解析:2019年普及组一、单项选择题1.中国的国家顶级域名是(  )A..cn        B..ch        C..chn   
作者:亿万年的星光 分类:初赛 浏览:

ICode—编程一小时(python版) 参考答案

1.Dev.step(4) Spaceship.step(2) Dev.turnRight() Dev.step(3)2.Dev.step(4)3.Dev.step(6)4.Dev.step(4) Dev.turnLeft() Dev.step(3)5.Dev.step(5) Dev.turnRight() Dev.step(2)6.Dev.step(1) Spaceship.step(2) Dev.step(5)7.Spaceship.step(3) Spaceship.t
作者:亿万年的星光 分类:python知识 浏览:

信息学奥赛知识点(十五)----链表

4.1 基本概念(1)用来存储数据变量叫做数据域。(2)用来存“直接后继(前趋)元素的地址”的指针叫做指针域。(3)数据域和指针域构成的元素叫做结点。(4)”->” 箭头运算是结构体指针访问其指向的成员变量的操作符.4.2单链表(1)单链表的定义:1.  struct Node {2.   int data;3.   Node * next;4.  };5.  Node * p;(2)单链表的查找//(按序号查找)在单链
作者:亿万年的星光 分类:初赛 浏览:

信息学奥赛知识点(十四)----指针

3.1 定义

指针就是地址。

指针变量定义形式:  类型说明符  *变量名     例如:int  *a;

含义:定义了一个int *类型变量,名称为a。(只能存储int *类型)

注意:int *类型和int 类型不一样。



3.2 指针的赋值

实际操作中,&”符号表示“取地址符”。(区别与&&和按位与&,使用场景不同)。比如下面的代码:

1.  #include<iostream>

2.  #include<cstdio>

3.  using namespace std;

4.  int main() {

5.   int a=3;

6.   int *p=NULL;

7.   p=&a;

8.   cout<<"a的值"<<a<<endl;  //3

9.   cout<<"p的值"<<p<<endl;  //0x22fe34

10.  cout<<"*p的值"<<*p<<endl; //3

11.  return 0;

12. }

其中,第7行的“&”表示取变量a的地址,赋值给p变量,而p是指针类型,可以保存地址。

scanf读取数据的时候,也会写作scanf(“%d”,&a); 这里面的&”也是取地址符号。

10行的结果是3,也就是a的值,这里可以这样理解:因为pint *类型,*p等价于*(int *),这里可以“负负得正”的思想来记录结果,也就是指向了int *这个指针所指向的变量。

3.3 指针与数组

  指向数组的指针变量称为数组指针变量。数组是内存上一块连续的空间。数组名就是这块连续空间的首地址。

1.  #include<iostream>

2.  #include<cstdio>

3.  using namespace std;

4.  int main() {

5.   int a[10];

6.   for(int i=0; i<5; i++) {

7.    scanf("%d",a+i); 

8.   }

9.   for(int i=0; i<5; i++) {

10.   printf("%d ", *(a+i)); 

11.  }

12.  return 0;

13. }



作者:亿万年的星光 分类:初赛 浏览:

信息学奥赛知识点(十三)----树和二叉树(下)

一、表达式的求法考试中有经常出现类似于“中缀表达式转后缀”,“前缀表达式转后缀”等。如果能画出唯一的二叉树那么便根据二叉树的结构之间求解即可,有些情况很难直接画出二叉树。还有通过加括号的方式进行求解,还有利用栈的方法求表达式。(1) 【中缀转后缀:利用栈】规则:①从左往右遇到操作数直接输出 ②遇到操作符,放入栈中③遇到左括号,入栈      ④遇到右括号,出栈(直到遇到左括号,左括号只弹出不输出) ⑤遇到其
作者:亿万年的星光 分类:初赛 浏览:

C++利用cout简单输出

如何空格输出#include<iostream> using namespace std; int main() { cout<<"hello world"; return 0; }前面演示的hello world的输出中间部分就带有一个空格(hello world中间有多少空格就输出多少空格)2. 如何换行输出#include<iostream> using&n
作者:亿万年的星光 分类:课程 浏览:

C++的一些符号和快捷键

一、常见符号名称符号位置备注加号+"shift"+"="减号-"shift"+"-"乘号*"shift"+"8"除号/"/"   (?键)取余%"shift"+"5"4%3=1      3%4=3赋值=“=”按键判等==“=”按键小括号( )"shift&q
作者:亿万年的星光 分类:课程 浏览:

认识C++程序的结构

上一节中,我们编写了第一个C++程序:编写第一个C++程序 - 青少年编程知识记录 (codecoming.com)这篇文章,简单介绍一下C++程序的结构:#include<iostream> using namespace std; int main(){ cout<<"Hello World!"; return 0; }关于上面的代码,每一部分给出如下的解释:头文件,在主程序加载之前先
作者:亿万年的星光 分类:课程 浏览: