前言:
本文为【LGR-200-Div.4】洛谷入门赛 #27 A - H题解
我只是一个只会各种暴力法的蒟蒻,这场比赛没有参加,是比赛完去写的,但是那个题目昨天晚上才能提交,导致拖久了一点
最后面贴一个Go语言的,反正也没人看
觉得有帮助或者写的不错可以点个赞
目录
题A:
B4026 [语言月赛 202409] 灵感 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
题目大意和解题思路:
如果迅风在下午写下的文章的字数之和严格大于他在上午写下的文章的字数之和
简单的判断,注意仔细读题即可
代码(C++):
int main() {
std::ios::sync_with_stdio(0);
std::cin.tie(0);
int a, b, c, d;
std::cin >> a >> b >> c >> d;
if (c + d > a + b) {
std::cout << "Yes\n";
} else {
std::cout << "No\n";
}
}
题B:
B4027 [语言月赛 202409] 重聚 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
题目大意和解题思路:
- 小紫在分离时间 ≥t1 分钟时开启感应,如果她和小蓝距离不超过 d1,那么可以感应到小蓝的位置。
- 小蓝在分离时间 ≥t2 分钟时开启感应,如果她和小紫距离不超过 d2,那么可以感应到小紫的位置。
当双胞胎的一个人能感应到另一个人的位置,就可以行动使得两人重聚。
现在小紫和小蓝已经分离了 t 分钟,当前距离为 d。她们都在原地等候。
请判断至少还需要几分钟,才能让双胞胎中的一个人感应到另一个人的位置?
首先可以判断d1,d2是否都不满足
然后可以定义两个最大值time1, time2,当d1满足,time1就赋值成t1 - t
注意如果t1 - t < 0 的话,那就只需要0分钟
代码(C++):
int main() {
std::ios::sync_with_stdio(0);
std::cin.tie(0);
int t, d, t1, d1, t2, d2;
std::cin >> t >> d >> t1 >> d1 >> t2 >> d2;
int res = 0;
if (d > d1 && d > d2) {
res = -1;
} else {
int time1 = 101, time2 = 101;
if (d <= d1) {
time1 = t1 - t;
if (time1 < 0) {
time1 = 0;
}
}
if (d <= d2) {
time2 = t2 - t;
if (time2 < 0) {
time2 = 0;
}
}
res = std::min(time1, time2);
}
std::cout << res << "\n";
}
题C:
B4028 [语言月赛 202409] 转盘 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
题目大意和解题思路:
阅读理解,从1开始遍历到n,表示1到n等奖,算出每一个奖的中奖概率i / sum跟m比较即可
注意题目n的范围,要算出总和sum的话,sum需要是long long类型
代码(C++):
int main() {
std::ios::sync_with_stdio(0);
std::cin.tie(0);
long long n, sum = 0;
double m;
std::cin >> n >> m;
for (int i = 1; i <= n; i++) {
sum += i;
}
int res = -1;
for (int i = 1; i <= n; i++) {
double v = double(i) / double(sum) * 100;