洛谷P12610 ——[CCC 2025 Junior] Donut Shop

题目背景

Score: 15.

题目描述

The owner of a donut shop spends the day baking and selling donuts.

Given the events that happen over the course of the day, your job is to determine the number of donuts remaining when the shop closes.

输入格式

The first line of input contains a non-negative integer, D, representing the number of donuts available when the shop first opens.

The second line contains a positive integer, E, representing the number of events that happen over the course of the day. The next E pairs of input lines describe these events. The first line in the pair contains either the + (plus) symbol, indicating that donuts have been baked, or the − (minus) symbol, indicating that donuts have been sold. The second line in the pair contains a positive integer, Q, representing the quantity of donuts associated with the event.

For each sale of donuts, the value of Q will be less than or equal to the number of donuts available at that time.

输出格式

Output the non-negative integer, R, which is the number of donuts remaining when the shop closes.

输入输出样例

cpp 复制代码
in:
10
3
+
24
-
6
-
12
out:
16

说明/提示

Explanation of Output for Sample Input

The shop opened with 10 donuts and there were 3 events during the day. The owner first baked 24 donuts. Then the owner sold 6 donuts, followed by another 12. The number of donuts remaining is 10+24−6−12=16.

这道题是不是有些看不懂?

我来翻译一下

题目背景

分数:15 分。

题目描述 一家甜甜圈店的店主整日都在烘焙和售卖甜甜圈。

根据一天中发生的各种事件,你的任务是确定店铺打烊时剩余的甜甜圈数量。

输入格式 输入的第一行包含一个非负整数D,表示店铺刚开门时可供售卖的甜甜圈数量。

第二行包含一个正整数E,表示一天中发生的事件数量。接下来的E组输入行描述了这些事件。每组的第一行包含 "\(+\)"(加号)符号,表示又烘焙了一些甜甜圈;或者包含 "\(-\)"(减号)符号,表示卖出了一些甜甜圈。每组的第二行包含一个正整数Q,表示与该事件相关的甜甜圈数量。

对于每一次甜甜圈的售卖,Q的值将小于或等于当时可供售卖的甜甜圈数量。

输出格式 输出一个非负整数R,即店铺打烊时剩余的甜甜圈数量。

输入输出样例

cpp 复制代码
in:
10
3
+
24
-
6
-
12
out:
16

说明/提示

店铺一开始有 10 个甜甜圈,一天内发生了 3 件事。店主首先烘焙了 24 个甜甜圈。然后店主卖出了 6 个甜甜圈,接着又卖出了 12 个。剩余的甜甜圈数量为 10 + 24 - 6 - 12 = 16 个。

Problem

你有 D 个甜甜圈,

共有 E 个甜甜圈的变化事件,

每个事件有两种可能的情况:

增加或者减少 Q 个甜甜圈。

求剩余的甜甜圈数量。

Solution

对于每个事件,

对甜甜圈的初始数 D 加或减每个对应的 Q 即可。

那么最终 D 的值即为所求结果。

用循环结构简单模拟就可以,每次输入判断是加还是减法,直接对 D 进行运算即可。

只要判断每次输入的符号是 + 还是 - 即可。

如果是 +,

那么总甜甜圈数加上输入的个数。

否则就减去输入的个数。

Code

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	int d,e;cin>>d>>e;
    while(e--){
        char c;cin>>c;
        int q;cin>>q;
        if(c=='+') d+=q;
        else d-=q;
    }
    cout<<d;
	return 0;
}

听说给点赞,关注,收藏的人会发财哦(づ ̄3 ̄)づ╭❤~

相关推荐
leobertlan5 小时前
痛苦系列 | DSP-03 跨越单位圆:Z变换与零极点分析
算法·程序员
蛋蛋的就会顺顺的5 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
开发小能手1235 小时前
答案daanC语言
数据结构·算法
Navigator_Z7 小时前
LeetCode //C - 1291. Sequential Digits
c语言·算法·leetcode
pride.li8 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
旺仔仔仔9 小时前
机器人项目实战(5):从单次抓取,到接收指令连续做事
算法
旺仔仔仔9 小时前
机器人项目实战(2):识别物体、提取点云,再到抓取姿态
算法
姜鱼问生9 小时前
密码明明一样,为什么 GPG 说“错的“?
后端·算法·架构
启观川9 小时前
数据结构与算法-第 3 章 常用算法-贪心算法
数据结构·笔记·python·算法·贪心算法
对空六课9 小时前
指标口径生效时间的版本查询实现
大数据·服务器·前端·算法·数据分析