在探險的過程中,考古學家dr. kong 無意地被困在乙個金字塔中。金字塔中的每個房間都是三角形。dr. kong可以破壁走到相鄰的房間去。
例如,如果他目前處於三角形(2,2)房間,那麼他可以破壁走到三角形(2,1)、(2,3)或(1,1)房間。但破壁一面牆需要花費k分鐘時間,而考古學家dr. kong 的體能只能支援他到s分鐘。
好在dr. kong手中有這個金字塔地圖,他發現金字塔有許多出口,一旦他進入乙個有出口的三角形房間,他再用1分鐘就可以走出金字塔。
現在,你能否幫助dr. kong找到乙個走出金字塔花費時間最少的出口?若能,輸出dr. kong走出金字塔後還剩下的體能時間(應當大於或等於0);若不能,輸出-1。
這題也沒什麼好說的,主要思路就是找規律.
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long
#define up(i,j,n) for(int i=j;i<=n;i++)
#define pii pair#define db double
#define eps 1e-4
#define file "dealing"
int read()
while(ch<='9'&&ch>='0')
return x*f;
}const ll maxn=22000,inf=10000000000000ll;
bool cmin(int& a,int b)
int n,m,k,s,flag=0;
pii s,t,p;
int main()
else
} ll ans=(ll)min*k+1;
if(ans<=s)cout<
else cout<
return 0;
}
HAOI2014 走出金字塔
找規律。不過為了方便,每次我們計算入口和某乙個出口之間需要花費的體力值的時候,不妨把x較小的假設成塔頂,這樣的話另乙個就不需要分類討論了。詳細請看 include include include include include define maxn 1000010 using namespace ...
HAOI2014 走出金字塔 找規律
給定乙個金字塔,有 n 層,m 個出口,破一面牆的時間為 k s 表示體能維持時間。問能否走出,且走出後剩餘的時間。列舉每個出口,試圖計算從每個出口出去的時間 而這就是計算一對點之間的最短路,考慮將最上面那麼點設為塔頂,設它原來的座標為 x 0,y 0 兩者的座標差為 delta x,delta y...
python 金字塔 Python金字塔
托倫,函式中有幾個小錯誤和乙個邏輯問題print y to a 請注意,此函式生成乙個以z開頭的字串,但您希望將字串以相反的方向連線,而您的另乙個函式print a to y 確實停止了 1位置 例如 還要注意,您需要新增新行字元 n 以獲得一些不錯的輸出。在 我的解決方案是 def print a...