寶可夢對戰是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 grassexample output110 100 fire
electric electric
90 80 grass
grass water
40 102 electric
3// 用了一晚上加一上午寫出的**~注意認真的理解題意,仔細推敲,get 新技能。21
01
#include
02
#include
03
int
main(
void
)
04
;
// 字串二維陣列的定義!!!
07
double
x1, x2, x3, max;
08
int
i, a, b, c, m;
09
double
t[4][4] = , , , };
// 直接來比較己方和對方的招式 產生的結果 在一乘即可。
10
//因為在二維陣列中有小數點所以用double型別。
11
while
(~
scanf
(
"%s %s %lf %lf %s"
, s1, s2, &x1, &x2, s3))
12
21
if
(
strcmp
(s2, s[i]) == 0)
22
25
if
(
strcmp
(s3, s[i]) == 0)
26
29
}
30
x1 = x1 * t[a][b];
31
x3 = x3 * t[c][b];
32
max = x1;
33
m = 1;
34
if
(x2 > max)
35
39
if
(x3 > max)
40
44
printf
(
"%d\n"
, m);
45
}
46
return
0;
47
}
畫乙隻動態的皮卡丘(二)
繼續總結過程中學到的新知識,這是第2部分。upperlip upperlip.left.lowerlip設定容器絕對定位 height 110px 設定框的高度,使框的高度與 相對元素底對齊 width 300px position absolute bottom 0 距離相對元素下面0,即上移至 ...
皮卡丘的夢想2(線段樹 二進位制狀態壓縮)
description 一天,乙隻住在 501 實驗室的皮卡丘決定發奮學習,成為像 leiq 一樣的巨巨,於是他向鎮上的賢者金桔請教如何才能進化成乙隻雷丘。金桔告訴他需要進化石才能進化,並給了他乙個地圖,地圖上有 n 個小鎮,他需要從這些小鎮中收集進化石。接下來他會進行 q 次操作,可能是打聽進化石...
關於二維陣列和二維指標的理解總結
二維陣列和二維指標有很多相似也有很多不同 相同點是他們都可以通過位址去取資料,不同點是 首先二維陣列本身儲存資料,二維指標需要指向別的資料才有用。其次陣列的指標是不可變的,指標是可變的。例 比如上面的二維陣列 a是位址,相當於 int p 3 4 a,單位為 int 3 4 sizeof a 4 而...