【发布时间】:2012-03-21 20:02:09
【问题描述】:
我有以下模拟表:
+---------+-------------------+------+------+
| NAME | TITLE | SIZE | Hit |
+---------+-------------------+------+------+
| A | Hippo1 | H | 0 |
| A | Hippo2 | H | 0 |
| A | Hippo3 | H | 1 |
| A | Hippo1 | M | 0 |
| A | Hippo2 | M | 1 |
| A | Hippo3 | M | 1 |
| A | Hippo1 | L | 0 |
| A | Hippo2 | L | 1 |
| A | Hippo3 | L | 1 |
+---------+-------------------+------+------+
| B | Snail1 | H | 1 |
| B | Snail1 | M | 0 |
| B | Snail1 | L | 1 |
+---------+-------------------+------+------+
| C | Dog | H | 1 |
| C | Dog | M | 0 |
+---------+-------------------+------+------+
| D | Sheep | H | 0 |
| D | Sheep | L | 1 |
+---------+-------------------+------+------+
| E | Fish | H | 1 |
| E | Fish | H | 1 |
+---------+-------------------+------+------+
我想要的结果
+---------+----------+-------+
| NAME | TITLE | SCORE |
+---------+----------+-------+
| A | Hippo | 100 |
| B | Snail | 80 |
| C | Dog | 80 |
| D | Sheep | 10 |
| E | Fish | 100 |
+---------+----------+-------+
需要计算:
- 类型最多只能有三个值:{H, M, L};
- 当所有值都存在时,它们的等级如下:H=70 M=20 L=10
-
所有独特的案例都是
- 案例 {H,M}:H=80 M=20
- 案例 {M,L}:M=60 L=40
- 案例 {H,L}:H=90 L=10
- 案例 {H}:H=100
- 案例 {M}:M=100
- 案例 {L}:L=100
- 案例{H,M,L}:H=70 M=20 L=10
说明:
Hippo Has case {H,M,L}
Snail has case {H,M,L}
Dog has case {H,M}
Sheep has case {H,L}
Fish has case {H}
进一步说明
Hippo :尽管并非所有尺寸都有成功,但 Hippo 获得了 100 分,因为每个案例中至少有 1 个已满足每个标题一次。因此 HIPPO3 拥有所有三个 H M
Lsatsified 所以 hippo 可以认为是 100% 找到
从上面提取(行是查看器的逻辑构造)
| A | Hippo1 | H | 0 |
| A | Hippo2 | H | 0 |
| A | Hippo3 | H | 1 | <--Here
+-------------------------------------------+
| A | Hippo1 | M | 0 |
| A | Hippo2 | M | 1 |
| A | Hippo3 | M | 1 | <--Here
+-------------------------------------------+
| A | Hippo1 | L | 0 |
| A | Hippo2 | L | 1 |
| A | Hippo3 | L | 1 | <--Here
【问题讨论】:
-
除非你真的有动物园;)这是作业吗?
-
如果是的话没关系,我们会提供帮助,如果是的话,只需要这样标记。
-
不,我向你保证这不是家庭作业
-
标题后面总是最多一位吗?
-
@MichaelDurrant 我不能说我见过有河马的动物园;)