[C_MM213-易] 就決定是你了!!
成績: 0 / 倒扣: 0.8
題目說明: 在神奇寶貝世界裡,有一名怪獸馴服師名叫小智,他從小就立志要成為神奇寶貝大師,所以分析了神奇寶貝之間的關係,以下是他所分析的資料 :
很多隻神奇寶貝都有他自己屬性,共有 4 種屬性地、水、火、風,每一隻神奇寶貝都有他自己的等級、血量、防禦、招式威力和出招速度,以上都會根據不同屬性有不同的量。血量的算法為 : 水屬性 - 等級 *50+45 ,風屬性 - 等級 *45+45 ,地屬性 - 等級 *45+40 ,火屬性 - 等級 *40+45 ;防禦算法 : 地屬性 - 等級 *8+2 ,風屬性 - 等級 *6+3 ,火和水屬性 - 等級 *5+2 ,招式威力 : 火屬性 - 等級 *20+30 ,地和水屬性 - 等級 * 17+30 ,風屬性 - 等級 *15+30 ;速度算法 : 風屬性 - 等級 *10+10 ,火 - 等級 *8+8 ,水 - 等級 *7+9 ,地 - 等級 *5+10 。每個馴服師最多可帶三隻神奇寶貝,比賽的規則為算出身上每隻神奇寶貝的數值總合較大的為贏,若一樣則平手。每隻神奇寶貝數值算法 : 血量 *0.5+ 防禦 *1.5+ 攻擊 *1.3+ 速度 *2 ,請幫小智算出是否可以打贏對手。
例如 : 單隻等級 50 、水屬性的神奇寶貝,血量為 2545, 防禦 252 招式威力 880 速度 359 整體數值為 (2545*0.5 + 252*1.5 + 880*1.3 + 359*2)=3512.5
輸入說明: 第一行為一個整數 n ( 0 < n ≤ 16 ) 代表有幾個對手,之後有 2n 行,每兩行代表小智與對手,每一行的第一個數字 k 代表馴服師身上有 k ( 1 ≤ k ≤ 3 ) 隻神奇寶貝,之後有 2k 個數字分別代表每隻神奇寶貝的等級 Lv (1 ≤ Lv ≤100 ) 、屬性,屬性以 1,2,3,4 代表地 , 水 , 火 , 風。
輸出說明: 如果小智可以獲勝則輸出 win ,不行則輸出 lose ,平手則輸出 tie 。
範例
很多隻神奇寶貝都有他自己屬性,共有 4 種屬性地、水、火、風,每一隻神奇寶貝都有他自己的等級、血量、防禦、招式威力和出招速度,以上都會根據不同屬性有不同的量。血量的算法為 : 水屬性 - 等級 *50+45 ,風屬性 - 等級 *45+45 ,地屬性 - 等級 *45+40 ,火屬性 - 等級 *40+45 ;防禦算法 : 地屬性 - 等級 *8+2 ,風屬性 - 等級 *6+3 ,火和水屬性 - 等級 *5+2 ,招式威力 : 火屬性 - 等級 *20+30 ,地和水屬性 - 等級 * 17+30 ,風屬性 - 等級 *15+30 ;速度算法 : 風屬性 - 等級 *10+10 ,火 - 等級 *8+8 ,水 - 等級 *7+9 ,地 - 等級 *5+10 。每個馴服師最多可帶三隻神奇寶貝,比賽的規則為算出身上每隻神奇寶貝的數值總合較大的為贏,若一樣則平手。每隻神奇寶貝數值算法 : 血量 *0.5+ 防禦 *1.5+ 攻擊 *1.3+ 速度 *2 ,請幫小智算出是否可以打贏對手。
例如 : 單隻等級 50 、水屬性的神奇寶貝,血量為 2545, 防禦 252 招式威力 880 速度 359 整體數值為 (2545*0.5 + 252*1.5 + 880*1.3 + 359*2)=3512.5
輸入說明: 第一行為一個整數 n ( 0 < n ≤ 16 ) 代表有幾個對手,之後有 2n 行,每兩行代表小智與對手,每一行的第一個數字 k 代表馴服師身上有 k ( 1 ≤ k ≤ 3 ) 隻神奇寶貝,之後有 2k 個數字分別代表每隻神奇寶貝的等級 Lv (1 ≤ Lv ≤100 ) 、屬性,屬性以 1,2,3,4 代表地 , 水 , 火 , 風。
輸出說明: 如果小智可以獲勝則輸出 win ,不行則輸出 lose ,平手則輸出 tie 。
範例
Sample Input: | Sample Output: |
3 1 50 2 1 50 2 3 50 2 60 3 70 4 2 60 3 50 1 2 60 4 100 1 3 70 3 100 3 90 3 | tie win lose |
while True:
try:
def pok(g, att): #g→等級 n→屬性
if att == 1:
pow = (g*45+40)*0.5 + (g*8+2)*1.5 + (g*17+30)*1.3 + (g*5+10)*2
elif att == 2:
pow = (g*50+45)*0.5 + (g*5+2)*1.5 + (g*17+30)*1.3 + (g*7+9)*2
elif att == 3:
pow = (g*40+45)*0.5 + (g*5+2)*1.5 + (g*20+30)*1.3 + (g*8+8)*2
else:
pow = (g*45+45)*0.5 + (g*6+3)*1.5 + (g*15+30)*1.3 + (g*10+10)*2
return pow
n = int(input())
for i in range(n):
G = list(map(int,input().split()))
K = list(map(int,input().split()))
G_pow, K_pow = 0, 0
for j in range(G[0]):
G_pow += pok(G[2*j+1], G[2*j+2])
for j in range(K[0]):
K_pow += pok(K[2*j+1], K[2*j+2])
if G_pow > K_pow:
print('win')
elif G_pow < K_pow:
print('lose')
else:
print('tie')
except(EOFError):
break
沒有留言:
張貼留言