ABC 串讲 ——332(A~C)

ABC 串讲 ——332(A~C)

Leo2011 警示后人

A Online Shopping

模拟计算就得了。具体来说:

  1. 首先当然要算商品价格 ,一个 for 循环和一个乘法即可解决
  2. 根据判断,如果 则总价就要加上运费 ,否则不管了。
  3. 输出即可。
ACCode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <bits/stdc++.h>

#define log printf

using namespace std;

const int N = 10010;
int n, s, k, p[N], q[N], sum;

int main() {
scanf("%d%d%d", &n, &s, &k);
for (int i = 1; i <= n;i++)
scanf("%d%d", &p[i], &q[i]), sum += p[i] * q[i];
if (sum < s) sum += k;
log("%d\n", sum);
return 0;
}

AC 记录

B Glass and Mug

还是模拟,建俩变量模拟一遍得了。

玻璃杯和马克杯不是一个东西!赛时翻译插件卡了 人就是因为这个原因。

因此,请大家务必学好英语。

具体来说,我们维护马克杯的水量 和玻璃杯的水量 ,然后按照题目:

  1. 如果 ,那么
  2. 否则如果 ,那么

情况三比较复杂,我们额外引入两个变量:

表示马克杯能倒的量,也就是 本身。

表示玻璃杯需要的量,也就是

然后如果 ,也就是可以全部倒掉那当然就是全部倒了,

否则类似的,把玻璃杯倒满,,然后

ACCode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <bits/stdc++.h>

#define log printf

using namespace std;

int k, g, m, gls, mug;

int main() {
scanf("%d%d%d", &k, &g, &m);
for (int i = 0;i < k;i++) {
if (gls == g) gls = 0;
else
if (mug == 0) mug = m;
else {
int mug_can = mug, gls_need = g - gls;
if (mug_can > gls_need) gls = g, mug -= gls_need;
else if (mug_can < gls_need) mug = 0, gls += mug_can;
else gls += gls_need, mug -= mug_can;
}
}
log("%d %d\n", gls, mug);
return 0;
}

AC 记录

C T-shirts

又双叒叕是模拟。

仍然维护两个变量, 表示无 logo 的, 表示有 logo 的且洗了能穿的, 表示带 logo 的衣服总数(由于初始时只有无 logo 的,这也是需要购买的总数,也就是答案)。

然后逐天遍历:

  1. 空闲:洗掉,由于无印 logo 的质量不会变因此直接
  2. 吃饭:由于要尽量减少购买的带 logo 衣服,那么就要减少带 logo 衣服的消耗,那么当然就要优先穿无 logo 的,其次再穿有 logo 的,否则就只能再买了;
  3. 活动:同 2,但是不能穿无 logo 的了。
ACCode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <bits/stdc++.h>

#define log printf

using namespace std;

int m, n, plain, logo, logo_have;
string s;

int main() {
cin >> n >> m >> s;
plain = m;
for (int i = 0; i < n; i++) {
if (s[i] == '0') {
plain = m;
logo_have = logo;
continue;
}
if (s[i] == '1') {
if (plain > 0)
plain--;
else {
if (logo_have > 0)
logo_have--;
else
logo++;
}
} else {
if (logo_have > 0)
logo_have--;
else
logo++;
}
}
log("%d\n", logo);
return 0;
}

AC 记录

讲了跟没讲一样。已修复这个质量过低的 bug。

  • 标题: ABC 串讲 ——332(A~C)
  • 作者: Leo2011
  • 创建于 : 2024-01-19 21:35:04
  • 更新于 : 2025-11-18 16:07:37
  • 链接: https://www.leo2011.eu.org/2024/011930201.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
Nickname
Email
Website
  • OωO
  • |´・ω・) ノ
  • ヾ (≧∇≦*) ゝ
  • (☆ω☆)
  • (╯‵□′)╯︵┴─┴
  •  ̄﹃ ̄
  • (/ω\)
  • ∠( ᐛ 」∠)_
  • (๑•̀ㅁ•́ฅ)
  • →_→
  • ୧(๑•̀⌄•́๑)૭
  • ٩(ˊᗜˋ*)و
  • (ノ °ο°) ノ
  • (´இ皿இ`)
  • ⌇●﹏●⌇
  • (ฅ´ω`ฅ)
  • (╯°A°)╯︵○○○
  • φ( ̄∇ ̄o)
  • ヾ (´・ ・`。) ノ "
  • (ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
  • (ó﹏ò。)
  • Σ(っ °Д °;) っ
  • (,,´・ω・)ノ"(´ っ ω・`。)
  • ╮(╯▽╰)╭
  • o(*////▽////*)q
  • >﹏<
  • ( ๑´•ω•) "(ㆆᴗㆆ)
  • 😂
  • 😀
  • 😅
  • 😊
  • 🙂
  • 🙃
  • 😌
  • 😍
  • 😘
  • 😜
  • 😝
  • 😏
  • 😒
  • 🙄
  • 😳
  • 😡
  • 😔
  • 😫
  • 😱
  • 😭
  • 💩
  • 👻
  • 🙌
  • 🖕
  • 👍
  • 👫
  • 👬
  • 👭
  • 🌚
  • 🌝
  • 🙈
  • 💊
  • 😶
  • 🙏
  • 🍦
  • 🍉
  • 😣
  • 颜文字
  • Emoji
  • Bilibili
0 comments
No comment
目录
ABC 串讲 ——332(A~C)