AT4891 题解

题目传送门

小学生又双叒叕来写题解啦!

这题的翻译貌似不完整。

所谓怪兽与英雄的对决,就是双方同时扣同样的血,直到一方为零

弄懂题后,你会发现,这题不是考贪心,而是模拟。

写一个函数用于模拟怪兽与英雄的对决。

再遍历所有英雄,对攻击范围内的怪物进行对决。

累加一下总伤害即可。

送上满分代码:

#include <iostream>
#include <cstdio>
#define N 100005
using namespace std;
int a[N], b[N];
long long sum;
void PK(int &x, int &y)  //模拟怪兽与英雄的对决。 
//这里的取址符可以使参数改变。
//也就是说,不加取址符,若在函数中改变了参数的值,参数仍不变。
//而加了取址符就能改变参数的值。 
{
	int tx = x, ty = y;
	if (x > y) x -= ty, y = 0, sum += ty;	
	else if (x == y) x = 0, y = 0, sum += ty;
	else if (x < y) x = 0, y -= tx, sum += tx;
}
int main()
{
	int n;
	scanf("%d", &n);
	for (int i = 1; i <= n+1; i++) scanf("%d", &a[i]);
	for (int i = 1; i <= n; i++) scanf("%d", &b[i]);
	for (int i = 1; i <= n; i++)
	{
		PK(a[i], b[i]);
		PK(a[i+1], b[i]);
	}
	printf("%lld\n", sum);  //记得加上祖传换行。 
	return 0;
}

首发:2022-02-03 22:57:52

posted @   liangbowen  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示