NOIP2008年提高组初赛试题(十四届)(非常详细) 联系客服

发布时间 : 星期日 文章NOIP2008年提高组初赛试题(十四届)(非常详细)更新完毕开始阅读fd928382ec3a87c24028c4a2

NOIP2008初赛(提高组)试题&解析

exit(i); end;

var i:integer; begin

randomize; ans:=-1; m:=5;

for i:=1 to m do read(a[i]); read(n);

ans:=FindKth(1,m,n); writeln(a[ans]); end.

【答案】 ① a[left]

② a[j] < value (或a[j] <= value) ③ a[i] > value (或a[i] >= value) ④ a[i] := value; ⑤ i,right,n ⑥ FindKth(left, i, n)

2.(矩阵中的数字)有一个n*n(1≤n≤5000)的矩阵a,对于1≤i

var

n,k,answerx,answery:integer;

a:array[1..5000,1..5000] of integer; Procedure FindKPosition; Var I,j:integer; Begin

i:=n; j:=n;

while j>0 do begin

if a[n,j]

______①_________ while a[i,j]<>k do begin

while (___②_____) and (i>1) do dec(i); while (___③_____) and (j<=n) do inc(j); end;

_______④________

- 9 -

NOIP2008初赛(提高组)试题&解析

_______⑤________ end;

var i,j:integer; begin read(n);

for i:=1 to n do

for j:=1 to n do read(a[i,j]); read(k); FindKPosition;

writeln(answerx,' ',answery); end.

【答案】 ① inc(j); (或者j := j+1;) ② a[i,j] > k ③ a[i,j] < k ④ answerx := i; ⑤ answery := j;

- 10 -