Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description

大家知道皮卡丘有很多伙伴吗?他们大多数都是水、火、草三个属性的,也被人称为“御三家”。今天,皮卡丘要和他们进行一次对战的训练,下面我简单的介绍一下对战规则:
宝可梦对战是1对1的战斗,通过宝可梦学习到的招式进行攻击,从而获得胜利。每个招式都有自身的威力,招式的威力与造成的伤害成正比,也就是说招式威力越大,造成的伤害也越大。招式还附带属性,如果宝可梦使用的招式属性与自身属性相同,招式威力会提高50%;如果宝可梦使用的招式属性克制对手的宝可梦属性,招式威力会翻倍;如果对手的宝可梦属性对宝可梦使用的招式属性有抵抗效果,招式威力会减半。
现在皮卡丘和他的伙伴们都只学会了三个招式,第一个招式都是和自身属性相同的招式,第二个招式都是一般属性的招式,第三个招式都是其他属性的招式,且第三个招式威力固定是60。
下面是属性相克关系:
Water(水)属性招式克制火属性宝可梦,被草、水属性宝可梦抵抗。
Fire(火)属性招式克制草属性宝可梦,被水、火属性宝可梦抵抗。
Grass(草)属性招式克制水属性宝可梦,被草、火属性宝可梦抵抗。
Electric(电)属性招式克制水属性宝可梦,被草、电属性宝可梦抵抗。
Normal(一般)属性招式并不克制其他属性的宝可梦,也不被其他属性的宝可梦抵抗。
举例:水属性招式克制火属性宝可梦,招式威力*2;电属性招式被草属性宝可梦抵抗,招式威力*0.5
现在请你帮助皮卡丘及他的伙伴,选出在对战中实际威力最大的招式。
Input
输入数据有多组,到EOF结束。
每组数据先输入己方宝可梦属性和对方宝可梦属性(双方的属性一定是水、火、草、电四种属性之一),之后输入两个整数a1,a2(1<=a1,a2<=200),a1代表己方宝可梦第一个招式的威力,a2代表己方宝可梦第二个招式的威力。最后输入一个属性,代表己方宝可梦第三个招式的属性,第三个招式属性保证与己方宝可梦属性不同。
Output
对于每组输入,输出一个整数x,代表造成最大伤害的招式编号。如果存在多个招式的实际威力相同,输出编号最小的招式。
Example Input
Water Grass
110 100 Fire
Electric Electric
90 80 Grass
Grass Water
40 102 Electric
Example Output
// 用了一晚上加一上午写出的代码~注意认真的理解题意,仔细推敲,get 新技能。
05 | char s1[10], s2[10], s3[10]; |
06 | char s[4][10] = { "Electric" , "Grass" , "Water" , "Fire" }; |
07 | double x1, x2, x3, max; |
09 | double t[4][4] = {{0.5, 0.5, 2, 1}, {1, 0.5, 2, 0.5}, {1, 0.5, 0.5, 2}, {1, 2, 0.5, 0.5}}; |
11 | while (~ scanf ( "%s %s %lf %lf %s" , s1, s2, &x1, &x2, s3)) |
15 | for (i = 0; i < 4; i++) |
17 | if ( strcmp (s1, s[i]) == 0) |
21 | if ( strcmp (s2, s[i]) == 0) |
25 | if ( strcmp (s3, s[i]) == 0) |