零基础洛谷刷题记录
Day1 2024.11.18
Day2 2024.11.25
Day3 2024.11.26
Day4 2024.11.28
Day5 2024.11.29
Day6 2024 12.02
文章目录
- 零基础洛谷刷题记录
- 1426:题目描述(成过写出)
- 1426:AC代码
- 1426:学习成果
- 1425:题目描述(成功写出)
- 1425:AC代码
- 1425:学习成果
- 1424:题目描述(成功写出)
- 1424:AC代码
- 1424:学习成果
- 1423:题目描述(成功写出)
- 1423:AC代码
- 1423:学习成果
- 1422:题目描述
- 1422:AC代码
- 1422:学习成果
- 1614:题目描述(成功写出)
- 1614:AC代码
- 1614:学习成果
- 1634:题目描述(成功写出)
- 1634:AC代码
- 1634:学习成果
- 1639:题目描述
- 1639:AC代码
- 1639:学习成果
小鱼会有危险吗
1426:题目描述(成过写出)
有一次,小鱼要从 A 处沿直线往右边游,小鱼第一秒可以游 7 米,从第二秒开始每秒游的距离只有前一秒的 98%。有个极其邪恶的猎人在距离 A 处右边 s 米的地方,安装了一个隐蔽的探测器,探测器左右 x 米之内是探测范围。一旦小鱼进入探测器的范围,探测器就会在这一秒结束时把信号传递给那个猎人,猎人在一秒后就要对探测器范围内的水域进行抓捕,这时如果小鱼还在这范围内就危险了。也就是说小鱼一旦进入探测器范围,如果能在下 1 秒的时间内马上游出探测器的范围,还是安全的。现在给出 s 和 x 的数据,请你判断小鱼会不会有危险?如果有危险输出 y,没有危险输出 n。
1426:AC代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
double s, x;
scanf("%lf %lf", &s, &x);
double sum = 0.0;
double i;
for (i = 7.0; sum < s - x; i *= 0.98)
{
sum += i;
}
if (sum + i > s + x)
{
printf("n\n");
}
else
{
printf("y\n");
}
return 0;
}
1426:学习成果
- 又是细节满满的一天
小鱼的游泳时间
1425:题目描述(成功写出)
伦敦奥运会要到了,小鱼在拼命练习游泳准备参加游泳比赛,可怜的小鱼并不知道鱼类是不能参加人类的奥运会的。
这一天,小鱼给自己的游泳时间做了精确的计时(本题中的计时都按 24 小时制计算),它发现自己从 a 时 b 分一直游泳到当天的 c 时 d 分,请你帮小鱼计算一下,它这天一共游了多少时间呢?
小鱼游的好辛苦呀,你可不要算错了哦。
1425:AC代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
int a, b, c, d;
scanf("%d %d %d %d", &a, &b, &c, &d);
int hour;
int minute;
if (b > d)
{
minute = d + 60 - b;
hour = c - a - 1;
}
else
{
minute = d - b;
hour = c - a;
}
printf("%d %d\n", hour, minute);
return 0;
}
1425:学习成果
- 超级简单,之前教三年级还讲过这个分类讨论
小鱼的航程
1424:题目描述(成功写出)
有一只小鱼,它平日每天游泳 250 公里,周末休息(实行双休日),假设从周 x 开始算起,过了 n 天以后,小鱼一共累计游泳了多少公里呢?
1424:AC代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
int x, n;
scanf("%d %d", &x, &n);
int j = 0;
int sum = 0;
for (int i = x; j < n; i++, j++)
{
if (i > 5)
{
;
}
else
{
sum += 250;
}
i %= 7;
}
printf("%d\n", sum);
return 0;
}
1424:学习成果
- 鱼都有双休!!!
小玉在游泳
1423:题目描述(成功写出)
小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游 2 米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的 98%。现在小玉想知道,如果要游到距离 s 米的地方,她需要游多少步呢。请你编程解决这个问题。
1423:AC代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
double v = 2.0;
int number = 0;
double sum = 0.0;
double s;
scanf("%lf", &s);
for (number = 0; sum < s; number++, v *= 0.98)
{
sum += v;
}
printf("%d", number);
return 0;
}
1423:学习成果
- 又是超级简单的
小玉家的电费
1422:题目描述
夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电 [2006]27 号规定,月用电量在 150 千瓦时及以下部分按每千瓦时 0.4463 元执行,月用电量在 151∼400 千瓦时的部分按每千瓦时 0.4663 元执行,月用电量在 401 千瓦时及以上部分按每千瓦时 0.5663 元执行。小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。
1422:AC代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
int dian;
scanf("%d", &dian);
float sum = 0;
if (dian <= 150)
{
sum = dian * 0.4463;
}
else if (dian > 150 && dian <= 400)
{
sum = 150 * 0.4463 + (dian - 150) * 0.4663;
}
else
{
sum = 150 * 0.4463 + 250 * 0.4663 + (dian - 400) * 0.5663;
}
printf("%.1lf\n", sum);
return 0;
}
1422:学习成果
- 打印小数点后n位的方法:
printf("%.nlf\n", sum);
爱与愁的心痛
1614:题目描述(成功写出)
最近有 n 个不爽的事,每句话都有一个正整数刺痛值(心理承受力极差)。爱与愁大神想知道连续 m 个刺痛值的和的最小值是多少,但是由于业务繁忙,爱与愁大神只好请你编个程序告诉他。
1614:AC代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
int arr[3000];
int n, m;
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
int min = 0;
for (int i = 0; i < m; i++)
{
min += arr[i];
}
for (int i = m; i < n; i++)
{
int now = 0;
for (int j = i - m + 1; j <= i; j++)
{
now += arr[j];
}
min = min > now ? now : min;
}
printf("%d\n", min);
return 0;
}
1614:学习成果
- 简单的比较,可惜状态下滑了写慢了
禽兽的传染病
1634:题目描述(成功写出)
禽兽患传染病了。一个禽兽会每轮传染 x 个禽兽。试问 n 轮传染后有多少禽兽被传染?
1634:AC代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
unsigned long long int sum = 1;
unsigned long long int x, n;
scanf("%lld %lld", &x, &n);
for (unsigned long long int i = 0; i < n; i++)
{
unsigned long long int m = sum * x;
sum += m;
}
printf("%lld\n", sum);
return 0;
}
1634:学习成果
- 我勒个小学生益智数学题,记得开long long
Teleportation B
1639:题目描述
Farmer John 最讨厌的农活是运输牛粪。为了精简这个过程,他制造了一个伟大的发明:便便传送门!与使用拖拉机拖着装满牛粪的大车从一个地点到另一个地点相比,他可以使用便便传送门将牛粪从一个地点瞬间传送到另一个地点。
Farmer John 的农场沿着一条长直道路而建,所以他农场上的每个地点都可以简单地用该地点在道路上的位置来表示(相当于数轴上的一个点)。一个传送门可以用两个数 x 和 y 表示,被拖到地点 x 的牛粪可以瞬间传送到地点 y,反之亦然。
Farmer John 想要将牛粪从地点 a 运输到地点 b,他建造了一个可能对这一过程有所帮助的传送门(当然,如果没有帮助,他也可以不用)。请帮助他求出他需要使用拖拉机运输牛粪的总距离的最小值。
1639:AC代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
int a, b, x, y;
scanf("%d %d %d %d", &a, &b, &x, &y);
int answer_1 = abs(a - b);
int answer_2 = abs(x - a) + abs(b - y);
int min = answer_2 > answer_1 ? answer_1 : answer_2;
int answer_3 = abs(y - a) + abs(x - b);
min = min > answer_3 ? answer_3 : min;
printf("%d\n", min);
return 0;
}
1639:学习成果
- 细心的发现可以先y到x!!!我可太棒了
- 绝对值函数
#include<math.h>
int answer_1 = abs(a - b);