策略打怪獸

2021-10-24 10:34:58 字數 2015 閱讀 3259

牛牛在玩乙個線性魔塔遊戲,地圖是一條[-n,n]的直線段。

怪物在[-n,-1].[1,n]的每個位置都有分布。同向的怪物互相遮擋,比如如果要攻擊

位置為3的怪物,必須在攻擊之前擊殺位置為1和2的怪物,如果要攻擊-2位置的怪

物,也必須先擊殺位置-1的怪物。

每乙個怪物需要消耗勇者a;的生命值,殺死某個怪物後會給勇者恢復b;的血量。

勇者的生命值在非負的時候被認為犧牲,勇者的生命值沒有上限。

牛牛想知道,勇士初始時擁有多少生命值,可以用策略殺完所有怪物。

輸入描述:

第一行輸入乙個整數n,如題目中所示。

隨後一行﹐輸入2n個整數ai﹐分別表示按[-n,-1],[1,n]的順序﹐殺死怪物

消耗的勇者的生命值·

隨後一行﹐輸入2n個整數ai﹐分別表示按[-n,-1],[1,n]的順序﹐殺死怪物

後勇者恢復的生命值·

對於20%的資料有n≤5。

對於40%的資料有n≤10。

對於60%的資料有n≤30。

對於80%的資料有n≤100。

對於100%的資料有n≤1000,0≤ai ,bi ≤106

俞出描述:

輸出一行乙個整數﹐表示答案·

示例1輸入輸出示例僅供除錯,後台判題資料般不包:輸入2

6 5 8 9

1 20 1 0輸出7

說明先擊殺-1位置的怪物﹐生命值-5=2﹐恢復+20=22

再擊殺位置-2的怪物﹐生命值-6=16﹐恢復+1=17。

再擊殺位置1的怪物﹐生命值-8=9,恢復+1=108

再擊殺位置2的怪物﹐生命值-9=1。

此時﹐勇者已經擊殺了所有怪物。

通過70%版本,兩個策略,先右後左,或先左後右

#includetypedef long long int ll;

using namespace std;

int main();

for(int i = 0;i < m;++i)

for(int i = 0;i < m; ++i)

int ans1 = 0;

for(int i = n; i < m; ++i)

sum += b[i];

}for(int i = n - 1; i >= 0 ; --i)

sum += b[i];

}if(sum == 0) ans1++;

//sum = 0;

int ans2 = 0;

for(int i = n - 1; i >= 0 ; --i)

sum += b[i];

}for(int i = n; i < m; ++i)

sum += b[i];

}if(sum == 0) ans2++;

int ans = min(ans1 ,  ans2);

cout《通過50%版本,綜合策略,從中間開始,哪邊掉的血最小去哪邊

#includetypedef long long ll;

using namespace std;

int main();

for(ll i = 0;i < m;++i)

for(ll i = 0;i < m; ++i)

vectorc(m);

for(ll i = 0; i < m; ++i)

ll ans1 = 0;

int left = n - 1, right = n;

while(left >= 0 && right < m)

sum += b[left];

left--;

}else

sum += b[right];

right++;}}

while(left >= 0)

sum += b[left];

left--;

}while(right < m)

sum += b[right];

right++;

}cout

}

小李打怪獸

小李對故鄉的思念全部化作了對霧霾天氣的怨念,這引起了掌控霧霾的邪神的極大不滿,邪神派去了乙隻小怪獸去對付小李,由於這只怪獸擁有極高的iq,它覺得直接消滅小李太沒有難度了,它決定要和小李在智力水平上一較高下。我們可否幫助小李來戰勝強大的怪獸呢?問題是這樣的 給定一堆正整數,要求你分成兩堆,兩堆數的和分...

牛牛打怪獸

牛牛在各個平台被各種傳奇遊戲的廣告轟炸,所以他決定去玩一玩這類的遊戲。這類遊戲掛機就可以公升級,所以牛牛每天都能變強。在第i天裡,牛牛能殺死防禦力小於等於i的怪物。但由於牛牛還要刷題,所以牛牛每天最多殺乙隻怪物。這個遊戲共有n只怪物,每只怪物的防禦力為defi 牛牛想知道最少要到第幾天才能把這n只怪...

牛客網 牛牛打怪獸

題目描述 題意身為屯里第一劍士的牛牛來到訓練場裡闖關,由於過於勤奮,牛牛的寶劍的耐久度降到了 22 這意味著牛牛最多只能打倒兩隻怪獸,否則將會被淘汰。訓練場的地圖可以看作一棵以 11 為根節點的樹,訓練場的終點為這棵樹的葉子結點,樹上的每個結點最多有乙隻怪獸,結點與結點間的邊上沒有怪獸。每乙個有怪獸...