題目描述
現在你在一張衛星中尋找星座,已知該星座在中正好出現一次,而且形狀一樣,方向一樣,大小也一樣。注意中可能有一些與該星座無關的星星。
例如圖1中的星座出現在圖2的衛星中(用圓圈標識部分)。圖1中給定的星座需要在x軸上平移2個單位同時在y軸上平移-3個單位才能與衛星中的衛星正好吻合。
寫乙個程式,計算給定衛星需要在x和y方向上分別平移多少單位才能與衛星吻合。
題解 純暴力,列舉每乙個點的橫縱座標,那個點全部符合就輸出。 **
var
n,m,s:longint;
x,y:array[0..1000] of longint;
a,b:array[0..1000,1..2] of longint;
procedure
init;
var i:longint;
begin
readln(n);
for i:=1
to n do readln(a[i,1],a[i,2]);
readln(m);
for i:=1
to m do
begin
readln(b[i,1],b[i,2]);
x[i]:=b[i,1]-a[1,1];
y[i]:=b[i,2]-a[1,2];
end;
end;
procedure
main;
var i,j,l:longint;
begin
for i:=1
to m do
begin
s:=0;
for j:=1
to n do
for l:=1
to m do
if (b[l,1]=a[j,1]+x[i])and(b[l,2]=a[j,2]+y[i]) then
begin
inc(s);
break;
end;
if s=n then
begin
writeln(x[i],' ',y[i]);
exit;
end;
end;
end;
begin
init;
main;
end.
2012 03 3普及組 坐船旅行
題目描述 noip有n個島嶼,編號為1.n,noip決定在島嶼之間發展船運網路。你在船運票務中心工作,很多人想花盡量少的錢從乙個島到另乙個島進行坐船旅行,他們每個人都報上自己的出發地和目的地,你的任務是告訴他最小花費。但是在這個過程中船的航線不會一直不變,可能會在某個時候增加一些航線,這些新增加的航...
2012 03 3普及組 烤餅乾
noip烤餅乾時兩面都要烤,而且一次可以烤r 1 r 10 行c 1 c 10000 列個餅乾,當一面烤到規定時間時,機器會把整個翻過來以接著烤另一面。有一天,正當機器準備翻餅乾時發生了 有一些餅乾被翻了過來,有一些沒有。幸運的是,過後你可以手工操作,一次可以同時翻若干行或者若干列,但不能單獨翻某乙...
紀中20200606 尋找星座
現在你在一張衛星中尋找星座,已知該星座在中正好出現一次,而且形狀一樣,方向一樣,大小也一樣。注意中可能有一些與該星座無關的星星。例如圖1中的星座出現在圖2的衛星中 用圓圈標識部分 圖1中給定的星座需要在x軸上平移2個單位同時在y軸上平移 3個單位才能與衛星中的衛星正好吻合。寫乙個程式,計算給定星座的...