題目by
nodg
d byn
odgd
問題描述
雷公蟲,學名蜈蚣。雷公蟲與蛇、蠍、壁虎、蟾蜍並稱「五毒」,且位居五毒之首。 眾所周知,蜂窩往往由很多等大密鋪的正六邊形組成,這每乙個正六邊形是 乙個房間。其實雷公蟲的巢穴也是這樣的構造,不同的地方在於,相鄰的房間並 不是完全的牆壁間隔,而是有通路的。準確的說,如果兩個房間有一條公共邊,那麼就可以從其中乙個房間走1 1
步到達另乙個房間。為了方便描述,我們給每個房間規定座標。如下圖,最中間三條座標軸相交 的房間座標是(0
,0,0
)' role="presentation">(0,
0,0)
(0,0
,0)。從
(0,0
,0) (0,
0,0)
先向xx
軸正方向走
a' role="presentation">a
a步,再向
y y
軸正方向走
b' role="presentation">b
b步,再向
z z
軸正方向走
c' role="presentation">c
c步,到達的房間座標(a
,b,c
) (a,
b,c)
。例如圖中紅色的房間,可以從(0
,0,0
) (0,
0,0)
先向xx
軸正方向走
5' role="presentation">5
5步,再向
y y
軸正方向走
4' role="presentation">4
4步,再向
z z
軸正方向走
1' role="presentation">1
1步到達, 所以座標是(5
,4,1
) (5,
4,1)
。乙個房間可以有很多個座標,例如(0
,0,0
) (0,
0,0)
可以是(2,
2,2)(2
,2,2
),紅 色房間的(5
,4,1
) (5,
4,1)
也可以是(−
短路。例如從紫色房間到橙色房間的最短路是由於題目已經明確提示乙個點的座標有多種不同的表示方法,所以我們很容易去思考這些座標的共同點。5 5
(一種路徑是,先向
y' role="presentation">y
y軸負方 向走
4 4
步,再向
x' role="presentation">x
x軸正方向走
1 1
步)。 那麼問題來了,任給兩個房間的座標, (1
)' role="presentation">(1)
(1)請你計算它們的最短路的長度; (2
) (2)
隨便輸出一條最短路的方案。
不難發現,任意座標表示中,x−
y x−y
,x−z x−z
,y−z y−z
是乙個定值。
也就是說,三個座標進行相同的加減變換,所表示的點是同乙個點。即:(
a,b,
c)=(
a−d,
b−d,
c−d)
=(0,
b−a,
c−a)
( a,
b,c)
=(a−
d,b−
d,c−
d)=(
0,b−
a,c−
a)。我們又發現,我們似乎可以控制起點與終點的某乙個座標相同且為
0 0
,而這兩點的距離也就與剩下的兩個座標有關。
但是這樣得到的距離並不一定最短,那怎麼辦?
模擬列舉一下控制哪個座標為
0' role="presentation">0
0即可。
我的**顯得比較累贅:
int a[4],b[4];
struct nodeans,try[4];
/*move12->x,y
move23->y,z
move13->x,z
*/#define abs(x) (abs(try[x].move1)+abs(try[x].move2)+abs(try[x].move3))
int main()
if(abs(2)<=abs(1)&&abs(2)<=abs(3))
if(abs(3)<=abs(1)&&abs(3)<=abs(2))
return
0;}
3721智慧型搜尋
簡要介紹 3721公司從1998年成立至今,一直專注於中文上網服務,是中文上網服務的開創者和行業領導者。作為乙個擁有數千萬使用者的網際網路基礎服務提供商,3721公司正在全力推動中國網際網路的中文化和本地化。3721公司提供的中文上網服務 3721 網路實名 使使用者無須記憶複雜的 直接輸入中文名稱...
怎樣對付煩人的3721!?
今天早上一來上班,有人在qq裡告訴說,將c winnt downloaded program files 設為唯讀,3721就沒招了 呵。試了一下,好象沒用,這個東西實在煩。刪了來,再刪有來,真是是莫名其妙,招誰惹誰了啊!不過,發現,只要訪問過帶3721外掛程式的 它回提示是否安裝的時候,一定點選 ...
NKOJ P1377 火燒赤壁
一道從初學以來一直沒有a掉的題 果然還是我太菜了 kono題面噠!曹操平定北方以後,公元208年,率領大軍南下,進攻劉表。他的人馬還沒有到荊州,劉表已經病死。他的兒子劉琮聽軍聲勢浩大,嚇破了膽,先派人求降了。孫權任命周瑜為都督,撥給他三萬水軍,叫他同劉備協力抵抗曹操。隆冬的十一月,天氣突然回暖,颳起...