玩家殺boss,玩家有普通攻擊和魔法攻擊
boss 有普通攻擊和暴擊
求玩家戰勝boss的最小回合數
#include
#include
void fight(int a[3],int
*fight_time,int
*win)
else
a[0]-=10;
}a[2]-=120;
}if(atmp!=100000 && atmp>0 && a[2]<=0)
if(atmp!=100000 && atmp<=0 && a[2]<=0)
//printf("%d,%d,%d\n",a[0],a[1],a[2]);
if( (*win) == -1 || (*win) == 1 )
return;
if(a[2]>0 && a[0]<=0)
if(a[2]<=0)
(*fight_time)++;
//bosshp<=17,普攻
if(a[2]<=17)
//玩家魔法攻擊
if(a[1]>=10)
//玩家續魔法
else
if(a[1]>=6)
//玩家考慮是否續魔法
else
if(a[1]>=2)
else
}else
//boss普通攻擊
if( (*fight_time) %5 == 0)
else
a[0]-=10;
fight(a,fight_time,win);
return;
}int main(void)
else
a[0]-=10;
a[1]-=10;
}fight(a,&fight_time,&win);
if(win==-1)
printf("-1");
else
printf("%d",fight_time);
//printf("%d,%d",fight_time,win);
return
0;}
結果如下
還有點瑕疵,可以自己改一下
消滅終極BOSS 華為機試題
昨天參加了華為的機試,兩個小時,三大題。第一題很簡單,長度為n的陣列,將後m個數字移到前面,前面的n m個數字移到後面,然後輸出陣列裡面前m個 後m個數的和。第二題是輸入員工的姓名,若干次的打卡時間,輸出打卡的狀態 包括缺席 打卡不正常 早退 遲到 正常 以及工作時間。不難,只是情況比較多,所以做起...
華為筆試題
int a nsize 其中隱藏著若干 0,其餘非 0整數,寫乙個函式 int func int a,int nsize 使a 把0移至後面,非 0整數移至 陣列前面並保持有序,返回值為原資料中第乙個元素為0 的下標。盡可能不使用輔助空間且考慮效率及異常問題,注釋規範且給出設計思路 include ...
華為筆試題
某軟體需要實現建議的cd key演算法,輸入3個正整數,以空格隔開,根據這3個整數生成cd key字串,輸出格式 x x x xxyy,包括16個字元,以短劃線分開,其中,cd key最後兩個yy是用於cd key的自校驗,確保cd key本身是合法的。cdkey使用的字元表23456789abcd...