打卡信奥刷题(248)用Scratch图形化工具信奥P9713[普及组]「QFOI R1」抱抱

「QFOI R1」抱抱

题目描述

小 R 是一个可爱的女孩子,她希望跟大家抱抱,顺便给大家分蛋糕吃。

蛋糕是一个大小为 a × b × c a\times b\times c a×b×c 的长方体,其中每个单位正方体都被赋予了一个坐标 ( x , y , z ) (x,y,z) (x,y,z) 1 ≤ x ≤ a , 1 ≤ y ≤ b , 1 ≤ z ≤ c 1\le x\le a,1\le y\le b,1\le z\le c 1xa,1yb,1zc)。

共进行 m m m 次切蛋糕操作,每次按如下三种方式之一切分:

  1. 切出 x ≤ k x\le k xk 的部分分给大家。
  2. 切出 y ≤ k y\le k yk 的部分分给大家。
  3. 切出 z ≤ k z\le k zk 的部分分给大家。

由于她自己也想吃蛋糕,她希望知道在每次切蛋糕后,还剩下多少体积没有分给大家。

输入格式

第一行四个整数 a , b , c , m a,b,c,m a,b,c,m,表示蛋糕的大小和切蛋糕次数。

接下来 m m m 行,每行两个整数 o p , k op,k op,k,表示进行【题目描述】中的第 o p op op 种操作,参数为 k k k

输出格式

m m m 行,每行一个整数,表示剩余部分体积。

样例 #1

样例输入 #1

3 3 3 2
1 2
2 1

样例输出 #1

9
6

样例 #2

样例输入 #2

1000000 1000000 1000000 6
1 123456
2 654321
3 233333
2 111111
1 333333
3 1000000

样例输出 #2

876544000000000000
303002853376000000
232302288589217792
232302288589217792
176680542935560631
0

提示

样例 1 1 1 解释

第一次切蛋糕,将所有 x ≤ 2 x\le 2 x2 的部分切掉,剩余的单位正方体有 ( 3 , 1 , 1 ) , ( 3 , 1 , 2 ) , ( 3 , 1 , 3 ) , ( 3 , 2 , 1 ) , ( 3 , 2 , 2 ) , ( 3 , 2 , 3 ) , ( 3 , 3 , 1 ) , ( 3 , 3 , 2 ) , ( 3 , 3 , 3 ) (3,1,1),(3,1,2),(3,1,3),(3,2,1),(3,2,2),(3,2,3),(3,3,1),(3,3,2),(3,3,3) (3,1,1),(3,1,2),(3,1,3),(3,2,1),(3,2,2),(3,2,3),(3,3,1),(3,3,2),(3,3,3) 9 9 9 个。

第二次切蛋糕,将所有 y ≤ 1 y\le 1 y1 的部分切掉,剩余的单位正方体有 ( 3 , 2 , 1 ) , ( 3 , 2 , 2 ) , ( 3 , 2 , 3 ) , ( 3 , 3 , 1 ) , ( 3 , 3 , 2 ) , ( 3 , 3 , 3 ) (3,2,1),(3,2,2),(3,2,3),(3,3,1),(3,3,2),(3,3,3) (3,2,1),(3,2,2),(3,2,3),(3,3,1),(3,3,2),(3,3,3) 6 6 6 个。


样例 2 2 2 解释

第四次切蛋糕没有任何作用,因为第二次切蛋糕时 y ≤ 654321 y\le 654321 y654321 的部分已经被切掉,此时已经不存在 y ≤ 111111 y\le 111111 y111111 的单位正方体。

注意每次操作中的参数 k k k 是初始时决定的绝对坐标,不会随着操作的进行而改变。


数据范围

本题共 20 20 20 个测试点,每个测试点 5 5 5 分。

对于全部数据,保证 1 ≤ a , b , c ≤ 1 0 6 1\le a,b,c\le 10^6 1a,b,c106 1 ≤ m ≤ 2 × 1 0 5 1\le m\le 2\times 10^5 1m2×105 o p ∈ { 1 , 2 , 3 } op\in\{1,2,3\} op{1,2,3},若 o p = 1 op=1 op=1 1 ≤ k ≤ a 1\le k\le a 1ka,若 o p = 2 op=2 op=2 1 ≤ k ≤ b 1\le k\le b 1kb,若 o p = 3 op=3 op=3 1 ≤ k ≤ c 1\le k\le c 1kc

  • 对于测试点 1 ∼ 5 1\sim 5 15:保证 a , b , c , m ≤ 100 a,b,c,m\le 100 a,b,c,m100
  • 对于测试点 6 ∼ 10 6\sim 10 610:保证 b = c = 1 b=c=1 b=c=1 o p = 1 op=1 op=1
  • 对于测试点 11 ∼ 15 11\sim 15 1115:保证 c = 1 c=1 c=1 o p ∈ { 1 , 2 } op\in\{1,2\} op{1,2}
  • 对于测试点 16 ∼ 20 16\sim 20 1620:无特殊限制。

Scratch实现

在这里插入图片描述

后续

接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值