【普組模擬賽】馬語翻譯
題目:
隨著馬場的繁榮,出現了越來越多的新馬種。種族之間的溝通不暢嚴重影響了馬場的和諧。這時,科學家發明了馬語翻譯機械人,正好可以解決這一難題。
機械人有 m 種,每種機械人能完成 k 個馬種之間的語言翻譯。問,利用這些機械人,能否實現 1 種群和 n 種群的馬語翻譯。 若可以,找到翻譯過程至少需要用到多少種語言。
比賽時打了乙個floyed水分
聽說可以打spfa,但我打了個dp
設f[i]表示從第1種語言翻譯到第i種語言最少需要經過多少種語言
一開始f都是maxlongint
f[1]=1
每次去掃一遍每個機械人所能翻譯的語言
看那個的f最小
用乙個x記錄下來
接著其他的全都等於min(f[i],f[x]+1)
不停的嘗試更新,直到沒有更新為止
輸出f[n]
標程(請勿抄襲,後果很嚴重):
var f:array[0..100000]of longint;
a:array[1..1000,1..1000]of longint;
n,k,m,i,j,l,s,x:longint;
begin
assign(input,'trans.in');
assign(output,'trans.out');
reset(input);
rewrite(output);
readln(n,k,m);
for i:=1
to m do
for j:=1
to k do
read(a[i,j]);
for i:=2
to n do
f[i]:=maxlongint;
f[1]:=1;
repeat
x:=0;
for i:=1
to m do
begin
s:=maxlongint;
for j:=1
to k do
if f[a[i,j]]then s:=f[a[i,j]];
if s<>maxlongint then
begin
for j:=1
to k do
if f[a[i,j]]>s+1
then
begin
f[a[i,j]]:=s+1;
inc(x);
end;
end;
end;
until x=0;
if f[n]=maxlongint then writeln(-1)
else
writeln(f[n]);
close(input);
close(output);
end.
普組模擬賽 馬農
普組模擬賽 馬農 題目 在 完戰馬檢閱之後,來自大草原的兩兄弟決心成為超級 馬農 專門飼養戰馬。兄弟兩回到草原,將可以養馬的區域,分為 n n 的單位面積的正方形,並實地進行考察,歸納出了每個單位面積可以養馬所獲得的收益。接下來就要開始規劃他們各自的馬場了。首先,兩人的馬場都必須是矩形區域。同時,為...
jzoj1965 遞推 普組模擬賽 馬球比賽
題目描述 在解決了馬語翻譯問題後,馬匹數量越來越多,不少鄉鎮都有了數量可觀的馬匹,開始出現馬球比賽。鄉鎮之間決定進行馬球聯賽。聯賽的賽制,主要是比賽雙方的馬匹數量,成了乙個急需解決的問題。首先,所有鄉鎮都要求,本鄉鎮所有的馬匹都必須參賽,或者都不參賽 若組隊的馬匹數量不是該鎮馬匹數量的約數,將無法參...
(紀中)1965 普組模擬賽 馬球比賽 數學
file io input polo.in output polo.out 時間限制 1000 ms 空間限制 128000 kb 具體限制 goto problemset 題目描述 在解決了馬語翻譯問題後,馬匹數量越來越多,不少鄉鎮都有了數量可觀的馬匹,開始出現馬球比賽。鄉鎮之間決定進行馬球聯賽。...