2009東莞特長生 Q4 開發區規劃

2021-08-17 11:25:15 字數 1799 閱讀 2856

四、開發區規劃

提交檔案:d.pas / d.exe

輸入檔案:d.in

輸出檔案:d.out

問題描述:

小王是d市主管經濟的副市長,由於經濟發展的需要,要在d市組建乙個高新技術開發區,經過研究,規劃局在d市的東部劃出了一塊土地作為開發區選址。

棘手的是,這塊土地有些歷史文化遺址散布在某些格仔內,這些歷史文化遺址是萬萬不能拆除的,否則將激起民憤,小王深知這一點,因此,他的新建築在選址時要避開這些格仔。

假設新的建築物有p種規格,每種建築物都是正方形的,占地為ti*ti格 (1

<=i<=p)。

現在請你來當小王的秘書 幫他完成這個光榮而艱鉅的任務。

資料輸入:

從檔案d.in讀入資料,輸入檔案第一行包含三個數,分別代表n,m,p (1

<=n,m<=2000,1

<=p<=1000)。隨後的n行,每行有m個0或1(1表示該格為空地,0表示該格有歷史文化遺址)。

接下來的p行每行有乙個整數ti (1

.out中,共有p行,每行乙個整數,第i行的數代表邊長為ti的建築物選址方案數。

輸入輸出樣例

d.in44

21011

1111

1110

111023

d.out

51

map2[i,j]表示地i,j個點向左上方拓展的最大正方形的邊長

sum[i]記錄邊長為i的正方形空地有多少塊

最後跑一遍sum來統計合適的選址方案

var

map:array[0..2001]of ansistring;

map2:array[0..2001,0..2001]of longint;

sum:array[0..2001]of longint;

i,n,j,m,s,t,max,ans:longint;

function

min(a,b,c:longint):longint;

begin

if (a<=b)and(a<=c)then

exit(a);

if (b<=a)and(b<=c)then

exit(b);

exit(c);

end;

begin

readln(n,m,s);

for i:=1

to n do

begin

readln(map[i]);

for j:=1

to m do

begin

if (i=1)or(j=1) then

begin

if map[i,j]<>'0'

then map2[i,j]:=1

else map2[i,j]:=0;

endelse

if map[i,j]<>'0'

then

map2[i,j]:=min(map2[i-1,j],map2[i-1,j-1],map2[i,j-1])+1;

inc(sum[map2[i,j]]);

if map2[i,j]>max then max:=map2[i,j];

end;

end;

for i:=1

to s do

begin

read(t);

for j:=t to max do

ans:=ans+sum[j];

writeln(ans);

ans:=0;

end;

end.

2009東莞特長生 Q2 島嶼的緣分

二 島嶼的緣分 提交檔案 b.pas b.exe 輸入檔案 b.in 輸出檔案 b.out 問題描述 人和人的相識是一種緣分,其實人有幸到某地也是一種緣分。某風景優美的k小島的緣分和其他景點的緣分來得不一般,k島上有乙個石碑刻上了兩個很大很大的整數x和y,和乙個正整數k,後面寫道 誰能準確的寫出x和...

2023年東莞特長生 散步

description 李四是乙個很會利用時間的學生,他經常晚上吃過飯後一邊思考問題一邊散步,由於要思考問題,並且思考問題的內容越來越多,所以他在散步時也是越來越慢的,他自己總結出乙個規律,他散步時第一步走n厘公尺,第二步走n 1厘公尺,以後每步比前一步少1厘公尺,最後一步是0時就停下來了。現在給出...

08年東莞特長生 獎金

08年東莞特長生 獎金 time limit 1000ms memory limit 65536k total submit 326 accepted 108 description 由於無敵的凡凡在2005年世界英俊帥氣男總決選中勝出,yali company總經理mr.z心情好,決定給每位員工發...