A5862 | 「TJOI2019」唱、跳、rap 和篮球
时间限制4s
内存限制128MB
通过 / 提交0/0
题目描述
大中锋的学院要组织学生参观博物馆,要求学生们在博物馆中排成一队进行参观。
他的同学可以分为四类:一部分最喜欢唱、一部分最喜欢跳、一部分最喜欢 rap,还有一部分最喜欢篮球。
如果队列中 $k,k + 1,k + 2,k + 3$ 位置上的同学依次,最喜欢唱、最喜欢跳、最喜欢 rap、最喜欢篮球,那么他们就会聚在一起讨论蔡徐坤。
大中锋不希望这种事情发生,因为这会使得队伍显得很乱。
大中锋想知道有多少种排队的方法,不会有学生聚在一起讨论蔡徐坤。
两个学生队伍被认为是不同的,当且仅当两个队伍中至少有一个位置上的学生的喜好不同。
由于合法的队伍可能会有很多种,种类数对 $998244353$ 取模。
<center><img src="https://alpha1022.img.ihcr.top/cxk.jpg" width="25%"></center>
他的同学可以分为四类:一部分最喜欢唱、一部分最喜欢跳、一部分最喜欢 rap,还有一部分最喜欢篮球。
如果队列中 $k,k + 1,k + 2,k + 3$ 位置上的同学依次,最喜欢唱、最喜欢跳、最喜欢 rap、最喜欢篮球,那么他们就会聚在一起讨论蔡徐坤。
大中锋不希望这种事情发生,因为这会使得队伍显得很乱。
大中锋想知道有多少种排队的方法,不会有学生聚在一起讨论蔡徐坤。
两个学生队伍被认为是不同的,当且仅当两个队伍中至少有一个位置上的学生的喜好不同。
由于合法的队伍可能会有很多种,种类数对 $998244353$ 取模。
<center><img src="https://alpha1022.img.ihcr.top/cxk.jpg" width="25%"></center>
输入格式
输入数据只有一行。
每行 $5$ 个整数,第一个整数 $n$,代表大中锋的学院要组织多少人去参观博物馆。
接下来四个整数 $a、b、c、d$,分别代表学生中最喜欢唱的人数、最喜欢跳的人数、最喜欢 rap 的人数和最喜欢篮球的人数。
保证 $a + b + c + d ≥ n$。
每行 $5$ 个整数,第一个整数 $n$,代表大中锋的学院要组织多少人去参观博物馆。
接下来四个整数 $a、b、c、d$,分别代表学生中最喜欢唱的人数、最喜欢跳的人数、最喜欢 rap 的人数和最喜欢篮球的人数。
保证 $a + b + c + d ≥ n$。
输出格式
每组数据输出一个整数,代表你可以安排出多少种不同的学生队伍,使得队伍中没有学生聚在一起讨论蔡徐坤。结果对 $998244353$ 取模。
输入输出样例
输入 #1
4 4 3 2 1
输出 #1
174
输入 #2
996 208 221 132 442
输出 #2
442572391
对于 $20\%$ 的数据,有 $n = a = b = c = d ≤ 500$;
对于 $100\%$ 的数据,有 $n ≤ 1000,a,b,c,d ≤ 500$。
对于 $100\%$ 的数据,有 $n ≤ 1000,a,b,c,d ≤ 500$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?