打卡信奥刷题(482)用Scratch图形化工具信奥P6522[普及组/提高] [CEOI2010 day2] tower

[CEOI2010 day2] tower

题目背景

古巴比伦人决定建造一座塔。

题目描述

这座塔共有 n n n 层,每层由一个边长为 a i a_i ai 的立方体石块构成。一个石块 i i i 能够直接放在石块 j j j 上当且仅当 a i ≤ a j + D a_i \leq a_j+D aiaj+D,其中 D D D 为一个给定的常数。

你需要求出如果使用全部的石块,有多少种不同的搭建方案。输出答案   m o d     1 0 9 + 9 \bmod\ 10^9+9 mod 109+9 的结果。

注意:即使两个石块的边长相同,也看做不同的石块。

输入格式

输入第一行两个整数 n , D n,D n,D

第二行 n n n 个整数 a 1 , … , a n a_1,\dots,a_n a1,,an,表示每个立方体石块的边长。

输出格式

输出一行一个整数,表示方案总数   m o d     1 0 9 + 9 \bmod\ 10^9+9 mod 109+9 的结果。

样例 #1

样例输入 #1

4 1
1 2 3 100

样例输出 #1

4

样例 #2

样例输入 #2

6 9
10 20 20 10 10 20

样例输出 #2

36

提示

【样例解释】
样例 1 解释

首先把边长为 100 100 100 的石块放在底部,其余的石块可以任意顺序放置,除了以下两种情况:2,1,3 1,3,2

样例 2 解释

首先不允许在 10 10 10 上面放 20 20 20

所以就把 20 20 20 一堆放在底下, 10 10 10 一堆放在上面。

( 3 ! ) × ( 3 ! ) = 36 (3!)\times (3!)=36 (3!)×(3!)=36

【数据规模与约定】
  • 对于 10 % 10\% 10% 的数据,保证 n ≤ 10 n\le 10 n10
  • 对于 30 % 30\% 30% 的数据,保证方案数不超过 1 0 6 10^6 106
  • 对于 45 % 45\% 45% 的数据,保证 n ≤ 20 n\le 20 n20
  • 对于 70 % 70\% 70% 的数据,保证 n ≤ 70 n\le 70 n70
  • 对于 100 % 100\% 100% 的数据,保证 2 ≤ n ≤ 6.2 × 1 0 5 2\le n\le 6.2\times 10^5 2n6.2×105,输入中所有数字为不超过 1 0 9 10^9 109 的正整数。
【说明】

题目译自 CEOI 2010 day 2 T3 tower

翻译版权为题目提供者 @ShineEternal 所有,未经许可禁止转载。

Scratch实现

在这里插入图片描述

后续

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值