A9152 | Monsters and Diamonds
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Piegirl has found a monster and a book about monsters and pies. When she is reading the book, she found out that there are $n$ types of monsters, each with an ID between $1$ and $n$ . If you feed a pie to a monster, the monster will split into some number of monsters (possibly zero), and at least one colorful diamond. Monsters may be able to split in multiple ways.
At the begining Piegirl has exactly one monster. She begins by feeding the monster a pie. She continues feeding pies to monsters until no more monsters are left. Then she collects all the diamonds that were created.
You will be given a list of split rules describing the way in which the various monsters can split. Every monster can split in at least one way, and if a monster can split in multiple ways then each time when it splits Piegirl can choose the way it splits.
For each monster, determine the smallest and the largest number of diamonds Piegirl can possibly collect, if initially she has a single instance of that monster. Piegirl has an unlimited supply of pies.
At the begining Piegirl has exactly one monster. She begins by feeding the monster a pie. She continues feeding pies to monsters until no more monsters are left. Then she collects all the diamonds that were created.
You will be given a list of split rules describing the way in which the various monsters can split. Every monster can split in at least one way, and if a monster can split in multiple ways then each time when it splits Piegirl can choose the way it splits.
For each monster, determine the smallest and the largest number of diamonds Piegirl can possibly collect, if initially she has a single instance of that monster. Piegirl has an unlimited supply of pies.
输入格式
The first line contains two integers: $m$ and $n$ ( $1<=m,n<=10^{5}$ ), the number of possible splits and the number of different monster types. Each of the following $m$ lines contains a split rule. Each split rule starts with an integer (a monster ID) $m_{i}$ ( $1<=m_{i}<=n$ ), and a positive integer $l_{i}$ indicating the number of monsters and diamonds the current monster can split into. This is followed by $l_{i}$ integers, with positive integers representing a monster ID and -1 representing a diamond.
Each monster will have at least one split rule. Each split rule will have at least one diamond. The sum of $l_{i}$ across all split rules will be at most $10^{5}$ .
Each monster will have at least one split rule. Each split rule will have at least one diamond. The sum of $l_{i}$ across all split rules will be at most $10^{5}$ .
输出格式
For each monster, in order of their IDs, print a line with two integers: the smallest and the largest number of diamonds that can possibly be collected by starting with that monster. If Piegirl cannot possibly end up in a state without monsters, print -1 for both smallest and the largest value. If she can collect an arbitrarily large number of diamonds, print -2 as the largest number of diamonds.
If any number in output exceeds $314000000$ (but is finite), print $314000000$ instead of that number.
If any number in output exceeds $314000000$ (but is finite), print $314000000$ instead of that number.
输入输出样例
输入 #1
6 4 1 3 -1 1 -1 1 2 -1 -1 2 3 -1 3 -1 2 3 -1 -1 -1 3 2 -1 -1 4 2 4 -1
输出 #1
2 -2 3 4 2 2 -1 -1
输入 #2
3 2 1 2 1 -1 2 2 -1 -1 2 3 2 1 -1
输出 #2
-1 -1 2 2
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted