普組模擬賽 馬語翻譯

2021-08-05 21:47:30 字數 1434 閱讀 5311

【普組模擬賽】馬語翻譯

題目:

隨著馬場的繁榮,出現了越來越多的新馬種。種族之間的溝通不暢嚴重影響了馬場的和諧。這時,科學家發明了馬語翻譯機械人,正好可以解決這一難題。

機械人有 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 題目描述 在解決了馬語翻譯問題後,馬匹數量越來越多,不少鄉鎮都有了數量可觀的馬匹,開始出現馬球比賽。鄉鎮之間決定進行馬球聯賽。...