2008信息学奥赛也就是第十四届信息学奥林匹克竞赛阜阳赛区的C语言试题的答案?

作者&投稿:泊饼 (若有异议请与网页底部的电邮联系)
信息学奥林匹克竞赛高中组c语言考点~

啊哈,我也要参加的。
想问一下你在哪个年级?初中的话不急,高中的话可要加把劲。
废话少说,现在谈一下:
语法的话,我觉得你的这些再加个递归已经够了,用得也还熟就好。联赛最重要的还是算法。

算法的话,最基础的可以算是排序。选择排序,冒泡排序,快速排序,归并排序,基数排序都可以看一看。重点是快速排序(用得最多)。当然如果你用C++的话只要用系统快排sort()就可以了。
还有就是搜索,深度优先搜索DFS和广度优先搜索BFS都必须能够灵活运用。
字符串的运算,看一下KMP大概差不多了。联赛好像不怎么考字符串。
高精度要做一下,练练思维的严谨性,有些题目会用到。

更加高级一些的算法是结合数据结构学的。
栈结构,队列还好,比较容易理解。链表的话,不难,但是有点麻烦,用得少。
树很重要,肯定要学。和二叉树有关的堆必须看,以后挺有用,堆排序也是一个高效的排序方法。
有的递归回溯也可以归结到树这一类。
图结构是树结构的延伸,很重要。关于最小生成树和最短路问题一定要学,这是重点之一,用得巨多。还有一些拓扑排序、并查集之类的算法也要看。
反正图结构和树结构是重点中的重点,所以我们也要重点研究。

再往上就是和编程思想有关了。
分治思想,大重点。
贪心思想,怎么说呢...比较微妙,算是重点吧。
动态规划,重点中的重点。这是神一般的思想,联赛考生都应该膜拜。它是应用最多、考的也最多的思想,各种形式,各种题型,各种层次的考试都少不了它。动态规划前提是无后效性,最重要的是递推方程,要用到递推思想。
组合要看,重点中的重点,不过数学好的话完全不用担心。数论也要看,虽然更高级一些。
网络流联赛不考。当然省赛之类的要考。

大概这些了。总结一下,算法有:
排序(系列),搜索(系列),字符串,高精度,栈结构,队列,链表,树(系列),堆,递归回溯,图(系列),分治(思想),贪心(思想),动态规划(思想),递推(思想),组合(思想),数论(思想),网络流(联赛不考)。
大重点:搜索(系列),堆,递归回溯,分治(思想),递推(思想),数论(思想)
重点中的重点:树(系列),图(系列),动态规划(思想),组合(思想)

大概就这些。可能还有所遗漏,望大家指正。
我记得我以前还有个知识点的文件的,可惜找不到了。

  第十四届全国青少年信息学奥林匹克联赛初赛试题
  ( 提高组 Pascal语言 二小时完成 )
  ●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●

  一、单项选择题(共10题,每题1.5分,共计15分。每题有且仅有一个正确答案)。

  1.在以下各项中,( )不是操作系统软件。
  A.Solaris B.Linux C.Sybase D.Windows Vista E.Symbian

  2.微型计算机中,控制器的基本功能是( )。
  A.控制机器的各个部件协调工作 B.实现算数运算与逻辑运算 C.存储各种控制信息
  D.获取外部信息 E.存放程序和数据

  3.设字符串S=“Olympic”,S的非空字串的数目是( )。
  A.29 B.28 C.16 D.17 E.7

  4.完全二叉树有2*N-1的结点,则它的叶子结点数目是( )。
  A.N-1 B.2*N C.N D.2N-1 E.N/2

  5.将数组{8,23,4,16,77,-5,53,100}中元素从大到小按顺序排序,每次可以交换任意两个元素,最少要交换( )次。
  A.4 B.5 C.6 D.7 E.8

  6.设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈,出栈顺序为b,d,c,f,e,a那么栈容量至少应该是( )。
  A.6 B.5 C.4 D.3 E.2

  7.与十进制数28.5625相等的四进制数是( )
  A.123.21 B.131.22 C.130.22 D.130.21 E.130.20

  8.递归过程和函数调用时,处理参数和返回地址,通常使用一种称为( )的数据结构。
  A.队列 B.多维数组 C.线性表 D.链表 E.栈

  9.TCP/IP 是一组构成互联网基础的网络协议,字面上包括两组协议:传输控制协议(TCP)和网际互联协议(IP)。TCP/IP协议把Internet网络系统描述成具有4个层次功能的网络模型,其中提供源节点和目的节点之间的信息传输服务,包括寻址和路由器选择等功能的是()。
  A.链路层 B.网络层 C.传输层 D.应用层 E.会话层

  10.对有序数组{5,13,19,21,37,56,64,75,88,92,100}进行二分查找,等概率情况下,查找成功的平均查找长度(平均比较次数)是()。
  A.35/11 B.34/11 C.33/11 D.32/11 E.34/10

  二、不定项选择题(共10题,每题1.5分,共计15分。每题正确答案的个数大于或等于1。多选或少选均不得分)。

  11.下列关于图灵的说法正确的有( )。
  A.图灵奖是美国计算机协会与1966年设立的,专门鼓励那些对计算机做出重要贡献的个人
  B.图灵奖有“计算机界诺贝尔奖”之称。
  C.迄今为止,还没有华裔计算机科学家获此殊荣。
  D.图灵奖的名称取自计算机科学先驱、英国科学家阿兰•图灵。

  12.计算机在工作过程中,若突然停电,( )中不会丢失信息不会丢失。
  A.硬盘 B.CPU C.ROM D.RAM

  13.若A=True,B=False,C=True,D=False,以下逻辑运算表达式真的有( )。
  A.(A∧B)V(C∧DV¬A) B.((¬A∧B)VC)∧¬B
  C.(BVCVD)VD∧A D.A∧(DV¬C)∧B

  14.Web2.0是近年来互联网热门概念之一,其核心是互动与分享。下列网站中,( )是典型的Web2.0的应用。
  A.Sina B.Flickr C.Yahoo D.Google

  15.(2008)10+ (5B)16 的结果是()。
  A.(833)16 B.(2099)10 C.(4063)8 D.(100001100011)2

  16.二叉树T,已知其先序遍历是1 2 4 3 5 7 6(数字为节点编号,以下同),后序遍历是4 2 7 5 6 3 1,则该二叉树的中根遍历是( )
  A.4 2 1 7 5 3 6 B.2 4 1 7 5 3 6 C.4 2 1 7 5 6 4 D.2 4 1 5 7 3 6
  17.面向对象的程序设计(Object-Oriented Programming)是一种程序设计的方法论,它将对象作为程序设计的基本单元,将数据和程序封装在对象中,以提高软件的重用性、灵活性、和扩展性。下面关于面向对象的程序设计说法中正确的是( )。
  A.面向对象的程序设计方法通常采用自顶向下的设计方法进行设计。
  B.面向对象的程序设计方法具有继承性(inheritance)、封装性(encapsulation)、多态性(polymorphism)等几大特点。
  C.支持面向对象特性称为面向对象的编程语言,目前较为流行的有C++,JAVA,C#等。
  D.面向对象的程序设计的雏形来自于Simula语言,后来在SmallTalk语言的完善和标准化的过程中得到更多的扩展和对以前的思想的重新注解。至今,SmallTalk语言仍然被视为面向对象的基础。

  18.设T是一棵有n个定点的树,以下说法正确的是( )。
  A.T是联通的,无环的 B.T是联通的,有n-1条边
  C.T是无环的,有n-1条边 D.以上都不对

  19.NOIP竞赛推荐使用的语言环境有( )。
  A.Dev-C++ B.Visual C++ C.Free Pascal D.Lazarus

  20.在下列防火墙(Firewall)的说法中,正确的有( )。
  A.防火墙是一项协助确保信息安全的设备,其会依照特定的规则,允许或是限制数据通过
  B.防火墙可能是一台专属硬件或是安装在一般硬件上的一套软件
  C.网络层防火墙可以视为一种IP数据包过滤器,只允许符合特定规定的数据包通过,其余的一概禁止穿越防火墙
  D.应用层防火墙是在TCP/IP的“应用层”上工作,可以拦截进出某应用程序的所有数据包

  三、问题求解(共2题,每题5分,共计10分)
  1.有6个城市,任何两个城市之间有一条道路连接,6个城市之间两两之间的距离如下表表示,则城市1到城市6的最短距离为____________。
  城市1 城市2 城市3 城市4 城市5 城市6
  城市1 0 2 3 1 12 15
  城市2 2 0 2 5 3 12
  城市3 3 2 0 3 6 5
  城市4 1 5 3 0 7 9
  城市5 12 3 6 7 0 2
  城市6 15 12 5 9 2 0

  2.书架上有21本书,编号从1 到 21 从中选4 本,其中每两本的编号都不相邻的选法一共有___________________种。

  四、阅读程序写结果(共4题,每题8分,共计32分)。
  1.var
  i,a,b,c,d:integer;
  f:array[0..3] of integer;
  begin
  for i:=0 to 3 do
  read(f[i]);
  a:=f[0]+f[1]+f[2]+f[3];
  a:=a div f[0];
  b:=f[0]+f[2]+f[3];
  c:=(b*f[1]+a) div f[2];
  d:=f[(b div c) mod 4];
  if (f[(a+b+c+d) mod 4]>f[2]) then
  begin
  a:=a+b;
  writeln(a)
  end
  else
  begin
  c:=c+d;
  writeln(c);
  end;
  end.

  输入: 9 19 29 39
  输出:_______________________________

  2.procedure foo(a,b,c:integer);
  begin
  if a>b then foo(c,a,b)
  else
  writeln(a,',',b,',',c)
  end;
  var a,b,c:integer;
  begin
  readln(a,b,c);
  foo(a,b,c);
  end.

  输入:2 1 3
  输出:_________________

  3.procedure f(a,b,c:integer);
  begin
  write(a,b,c,'/');
  if (a=3)and(b=2)and(c=1) then exit;
  if (b<c) then f(a,c,b)
  else
  if a<b then
  if a<c then f(c,a,b) else f(b,c,a);
  end;
  var a,b,c:integer;
  begin
  readln(a,b,c);
  f(a,b,c);
  end.

  输入:1 3 2
  输出:____________________

  4.var
  s:string;
  i,j,len,k:integer;
  begin
  readln(s);
  len:=length(s);
  for i:=1 to len do
  if (ord(s[i])>=ord('A')) and (ord(s[i])<=ord('Z')) then
  s:=chr(ord(s[i])-ord('A')+ord('a'));
  for i:=1 to len do
  if (ord(s[i])<ord('X')) then s:=chr(ord(s[i])+3)
  else
  s:=chr(ord(s[i])-23);
  write(s);
  write('/');
  for j:=1 to 3 do
  begin
  i:=1;
  while i<=len-j do
  begin
  s[i]:=s[i+j];
  i:=i+j;
  end;
  end;
  writeln(s);
  end.

  输入:ABCDEFGuvwxyz
  输出:________________________________

  五.完善程序(前6空,每空3分,后5空,每空2分,共28分)。
  1.(找第k大的数)给定一个长度为1000000的无序正整数序列,以及另一个数n(1<=n<=1000000),接下来以类似快速排序的方法找到序列中第n大的数(关于第n大的数:例如序列{1,2,3,4,5,6}中第3大的数是4)

  Var a:array[1..1000000] of integer;
  n,m,ans:integer;
  procedure swap(var a,b:integer);
  var t:integer;
  begin
  if (ab) then begin
  t:=a; a:=b; b:=t;
  end;
  end;
  Function FindKth(left,right,n:integer):integer;
  Var tmp,value,i,j:integer;
  begin
  if left=right then exit(left);
  tmp:=random(right-left)+left;
  swap(a[tmp],a[left]);
  value:=____①_____
  i:=left; j:=right;
  while i<j do
  begin
  while (i<j) and (________②______) do dec(j);
  if i<j then begin
  a:=a[j];inc(i);
  end else break;
  while (i<j) and (___③___) do inc(i);
  if i<j then begin
  a[j]:=a[i]; dec(j);
  end else break;
  end;
  ____④_____
  if i<n then begin inc(i); exit(FindKth(_____⑤_____));end;
  if i>n then begin dec(j); exit(______⑥________);end;
  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.

  2.(矩阵中的数字)有一个n*n(1≤n≤5000)的矩阵a,对于1≤i<n, 1≤j≤n, a[i,j]<a[i+1,j] a[j,i]<a[j,i+1]。即矩阵中左右相邻的两个元素,右边的元素一定比左边的大。上下相邻的两个元素,下面的元素一定比上面的大。给定矩阵a中的一个数字k,找出k所在的行列(注意:输入数据保证矩阵中的数各不相同)。

  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]<k then break;
  dec(j);
  end;
  ______①_________
  while a[i,j]k do
  begin
  while (___②_____) and (i>1) do dec(i);
  while (___③_____) and (j<=n) do inc(j);
  end;
  _______④________
  _______⑤________
  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. NOIP2008年提高组(Pascal语言)参考答案与评分标准

  一、单项选择题:(每题1.5分)
  1. C 2. A 3. B 4. C 5. B
  6. D 7. D 8. E 9. B 10. C
  二、 不定项选择题 (共10题,每题1.5分,共计15分。每题正确答案的个数大于或等于1。多选或少选均不得分)。
  11. ABD 12. AC 13. BC 14. B 15. ABC
  16. ABD 17. BCD 18. ABC 19. ACD 20. ABCD
  三、问题求解:(共2题,每题5分,共计10分)
  1.7
  2.3060
  四、阅读程序写结果(共4题,每题8分,共计32分)
  1. 23 (信心题)
  2. 1,3,2 (简单递归)
  3. 132/213/231/312/321/ (全排列)
  4. defghijxyzabc/hfizxjaybcccc (字符串替换)
  五.完善程序 (前6空,每空3分,后5空,每空2分,共28分)
  (说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查)
  1. ① 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. ① inc(j); (或者j := j+1;)
  ② a[i,j] > k
  ③ a[i,j] < k
  ④ answerx := i;
  ⑤ answery := j;

只有P语言的
第十四届全国青少年信息学奥林匹克联赛初赛试题
( 提高组 Pascal语言 二小时完成 )
●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●

一、单项选择题(共10题,每题1.5分,共计15分。每题有且仅有一个正确答案)。

1.在以下各项中,( )不是操作系统软件。
A.Solaris B.Linux C.Sybase D.Windows Vista E.Symbian

2.微型计算机中,控制器的基本功能是( )。
A.控制机器的各个部件协调工作 B.实现算数运算与逻辑运算 C.存储各种控制信息
D.获取外部信息 E.存放程序和数据

3.设字符串S=“Olympic”,S的非空字串的数目是( )。
A.29 B.28 C.16 D.17 E.7

4.完全二叉树有2*N-1的结点,则它的叶子结点数目是( )。
A.N-1 B.2*N C.N D.2N-1 E.N/2

5.将数组{8,23,4,16,77,-5,53,100}中元素从大到小按顺序排序,每次可以交换任意两个元素,最少要交换( )次。
A.4 B.5 C.6 D.7 E.8

6.设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈,出栈顺序为b,d,c,f,e,a那么栈容量至少应该是( )。
A.6 B.5 C.4 D.3 E.2

7.与十进制数28.5625相等的四进制数是( )
A.123.21 B.131.22 C.130.22 D.130.21 E.130.20

8.递归过程和函数调用时,处理参数和返回地址,通常使用一种称为( )的数据结构。
A.队列 B.多维数组 C.线性表 D.链表 E.栈

9.TCP/IP 是一组构成互联网基础的网络协议,字面上包括两组协议:传输控制协议(TCP)和网际互联协议(IP)。TCP/IP协议把Internet网络系统描述成具有4个层次功能的网络模型,其中提供源节点和目的节点之间的信息传输服务,包括寻址和路由器选择等功能的是()。
A.链路层 B.网络层 C.传输层 D.应用层 E.会话层

10.对有序数组{5,13,19,21,37,56,64,75,88,92,100}进行二分查找,等概率情况下,查找成功的平均查找长度(平均比较次数)是()。
A.35/11 B.34/11 C.33/11 D.32/11 E.34/10

二、不定项选择题(共10题,每题1.5分,共计15分。每题正确答案的个数大于或等于1。多选或少选均不得分)。

11.下列关于图灵的说法正确的有( )。
A.图灵奖是美国计算机协会与1966年设立的,专门鼓励那些对计算机做出重要贡献的个人
B.图灵奖有“计算机界诺贝尔奖”之称。
C.迄今为止,还没有华裔计算机科学家获此殊荣。
D.图灵奖的名称取自计算机科学先驱、英国科学家阿兰•图灵。

12.计算机在工作过程中,若突然停电,( )中不会丢失信息不会丢失。
A.硬盘 B.CPU C.ROM D.RAM

13.若A=True,B=False,C=True,D=False,以下逻辑运算表达式真的有( )。
A.(A∧B)V(C∧DV¬A) B.((¬A∧B)VC)∧¬B
C.(BVCVD)VD∧A D.A∧(DV¬C)∧B

14.Web2.0是近年来互联网热门概念之一,其核心是互动与分享。下列网站中,( )是典型的Web2.0的应用。
A.Sina B.Flickr C.Yahoo D.Google

15.(2008)10+ (5B)16 的结果是()。
A.(833)16 B.(2099)10 C.(4063)8 D.(100001100011)2

16.二叉树T,已知其先序遍历是1 2 4 3 5 7 6(数字为节点编号,以下同),后序遍历是4 2 7 5 6 3 1,则该二叉树的中根遍历是( )
A.4 2 1 7 5 3 6 B.2 4 1 7 5 3 6 C.4 2 1 7 5 6 4 D.2 4 1 5 7 3 6
17.面向对象的程序设计(Object-Oriented Programming)是一种程序设计的方法论,它将对象作为程序设计的基本单元,将数据和程序封装在对象中,以提高软件的重用性、灵活性、和扩展性。下面关于面向对象的程序设计说法中正确的是( )。
A.面向对象的程序设计方法通常采用自顶向下的设计方法进行设计。
B.面向对象的程序设计方法具有继承性(inheritance)、封装性(encapsulation)、多态性(polymorphism)等几大特点。
C.支持面向对象特性称为面向对象的编程语言,目前较为流行的有C++,JAVA,C#等。
D.面向对象的程序设计的雏形来自于Simula语言,后来在SmallTalk语言的完善和标准化的过程中得到更多的扩展和对以前的思想的重新注解。至今,SmallTalk语言仍然被视为面向对象的基础。

18.设T是一棵有n个定点的树,以下说法正确的是( )。
A.T是联通的,无环的 B.T是联通的,有n-1条边
C.T是无环的,有n-1条边 D.以上都不对

19.NOIP竞赛推荐使用的语言环境有( )。
A.Dev-C++ B.Visual C++ C.Free Pascal D.Lazarus

20.在下列防火墙(Firewall)的说法中,正确的有( )。
A.防火墙是一项协助确保信息安全的设备,其会依照特定的规则,允许或是限制数据通过
B.防火墙可能是一台专属硬件或是安装在一般硬件上的一套软件
C.网络层防火墙可以视为一种IP数据包过滤器,只允许符合特定规定的数据包通过,其余的一概禁止穿越防火墙
D.应用层防火墙是在TCP/IP的“应用层”上工作,可以拦截进出某应用程序的所有数据包

三、问题求解(共2题,每题5分,共计10分)
1.有6个城市,任何两个城市之间有一条道路连接,6个城市之间两两之间的距离如下表表示,则城市1到城市6的最短距离为____________。
城市1 城市2 城市3 城市4 城市5 城市6
城市1 0 2 3 1 12 15
城市2 2 0 2 5 3 12
城市3 3 2 0 3 6 5
城市4 1 5 3 0 7 9
城市5 12 3 6 7 0 2
城市6 15 12 5 9 2 0

2.书架上有21本书,编号从1 到 21 从中选4 本,其中每两本的编号都不相邻的选法一共有___________________种。

四、阅读程序写结果(共4题,每题8分,共计32分)。
1.var
i,a,b,c,d:integer;
f:array[0..3] of integer;
begin
for i:=0 to 3 do
read(f[i]);
a:=f[0]+f[1]+f[2]+f[3];
a:=a div f[0];
b:=f[0]+f[2]+f[3];
c:=(b*f[1]+a) div f[2];
d:=f[(b div c) mod 4];
if (f[(a+b+c+d) mod 4]>f[2]) then
begin
a:=a+b;
writeln(a)
end
else
begin
c:=c+d;
writeln(c);
end;
end.

输入: 9 19 29 39
输出:_______________________________

2.procedure foo(a,b,c:integer);
begin
if a>b then foo(c,a,b)
else
writeln(a,',',b,',',c)
end;
var a,b,c:integer;
begin
readln(a,b,c);
foo(a,b,c);
end.

输入:2 1 3
输出:_________________

3.procedure f(a,b,c:integer);
begin
write(a,b,c,'/');
if (a=3)and(b=2)and(c=1) then exit;
if (b<c) then f(a,c,b)
else
if a<b then
if a<c then f(c,a,b) else f(b,c,a);
end;
var a,b,c:integer;
begin
readln(a,b,c);
f(a,b,c);
end.

输入:1 3 2
输出:____________________

4.var
s:string;
i,j,len,k:integer;
begin
readln(s);
len:=length(s);
for i:=1 to len do
if (ord(s[i])>=ord('A')) and (ord(s[i])<=ord('Z')) then
s:=chr(ord(s[i])-ord('A')+ord('a'));
for i:=1 to len do
if (ord(s[i])<ord('X')) then s:=chr(ord(s[i])+3)
else
s:=chr(ord(s[i])-23);
write(s);
write('/');
for j:=1 to 3 do
begin
i:=1;
while i<=len-j do
begin
s[i]:=s[i+j];
i:=i+j;
end;
end;
writeln(s);
end.

输入:ABCDEFGuvwxyz
输出:________________________________

五.完善程序(前6空,每空3分,后5空,每空2分,共28分)。
1.(找第k大的数)给定一个长度为1000000的无序正整数序列,以及另一个数n(1<=n<=1000000),接下来以类似快速排序的方法找到序列中第n大的数(关于第n大的数:例如序列{1,2,3,4,5,6}中第3大的数是4)

Var a:array[1..1000000] of integer;
n,m,ans:integer;
procedure swap(var a,b:integer);
var t:integer;
begin
if (a<>b) then begin
t:=a; a:=b; b:=t;
end;
end;
Function FindKth(left,right,n:integer):integer;
Var tmp,value,i,j:integer;
begin
if left=right then exit(left);
tmp:=random(right-left)+left;
swap(a[tmp],a[left]);
value:=____①_____
i:=left; j:=right;
while i<j do
begin
while (i<j) and (________②______) do dec(j);
if i<j then begin
a:=a[j];inc(i);
end else break;
while (i<j) and (___③___) do inc(i);
if i<j then begin
a[j]:=a[i]; dec(j);
end else break;
end;
____④_____
if i<n then begin inc(i); exit(FindKth(_____⑤_____));end;
if i>n then begin dec(j); exit(______⑥________);end;
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.

2.(矩阵中的数字)有一个n*n(1≤n≤5000)的矩阵a,对于1≤i<n, 1≤j≤n, a[i,j]<a[i+1,j] a[j,i]<a[j,i+1]。即矩阵中左右相邻的两个元素,右边的元素一定比左边的大。上下相邻的两个元素,下面的元素一定比上面的大。给定矩阵a中的一个数字k,找出k所在的行列(注意:输入数据保证矩阵中的数各不相同)。

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]<k then break;
dec(j);
end;
______①_________
while a[i,j]<>k do
begin
while (___②_____) and (i>1) do dec(i);
while (___③_____) and (j<=n) do inc(j);
end;
_______④________
_______⑤________
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. NOIP2008年提高组(Pascal语言)参考答案与评分标准

一、单项选择题:(每题1.5分)
1. C 2. A 3. B 4. C 5. B
6. D 7. D 8. E 9. B 10. C
二、 不定项选择题 (共10题,每题1.5分,共计15分。每题正确答案的个数大于或等于1。多选或少选均不得分)。
11. ABD 12. AC 13. BC 14. B 15. ABC
16. ABD 17. BCD 18. ABC 19. ACD 20. ABCD
三、问题求解:(共2题,每题5分,共计10分)
1.7
2.3060
四、阅读程序写结果(共4题,每题8分,共计32分)
1. 23 (信心题)
2. 1,3,2 (简单递归)
3. 132/213/231/312/321/ (全排列)
4. defghijxyzabc/hfizxjaybcccc (字符串替换)
五.完善程序 (前6空,每空3分,后5空,每空2分,共28分)
(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查)
1. ① 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. ① inc(j); (或者j := j+1;)
② a[i,j] > k
③ a[i,j] < k
④ answerx := i;
⑤ answery := j;

一、单项选择题:(每题1.5分)

题号
1
2
3
4
5
6
7
8
9
10

答案
C
A
B
C
B
D
D
E
B
C

二、 不定项选择题 (共10题,每题1.5分,共计15分。每题正确答案的个数大于或等于1。多选或少选均不得分)。

题号
11
12
13
14
15

答案
ABD
AC
BC
B
ABC

题号
16
17
18
19
20

答案
ABD
BCD
ABC
ACD
ABCD

三、问题求解:(共2题,每题5分,共计10分)
1、7
2、3060 (即C(18,4))

四、阅读程序写结果(共4题,每题8分,共计32分)
1. 23

2. 1,3,2

3. 132/213/231/312/321/

4. defghijxyzabc/hfizxjaybcccc

五.完善程序 (前6空,每空3分,后5空,每空2分,共28分)
1.

①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.
①inc(j); (或者j := j+1;)
②a[i,j] > k
③a[i,j] < k
④answerx := i;
⑤ answery := j;


复旦大学自主招生申请条件描述
(1)符合报名条件的学生3月9日至3月23日可在复旦大学招生网网上报名系统中点击“博雅杯”条目,按照网页指示和说明填写个人信息等内容,含代表本人水平的3000字以内的习作1篇(习作必须是本人独立完成,并注明完成时间、主题来源、背景等),网上缴纳报名考务费100元,完成报名。(2)我校组织专家组对申...

蓬溪县14742876211: 2008信息学奥赛也就是第十四届信息学奥林匹克竞赛阜阳赛区的C语言试题的答案? -
佛叶那妥: 一、单项选择题:(每题1.5分) 题号 1 2 3 4 5 6 7 8 9 10答案 C A B C B D D E B C二、 不定项选择题 (共10题,每题1.5分,共计15分.每题正确答案的个数大于或等于1.多选或少选均不得分).题号 11 12 13 14 15答案 ABD AC BC B ...

蓬溪县14742876211: 2008全国青少年信息学奥林匹克联赛浙江赛区,将在何时何地举行? -
佛叶那妥: 各县(市、区)教育局、科协,市直有关学校: 第十四届全国青少年信息学奥林匹克联赛(NOIP2008)将于2008年第四季度举行,现将我市组织参加浙江赛区比赛的有关事项通知如下: 1、我市赛区主办单位为市教育局、市科协.下设联赛办...

蓬溪县14742876211: 谁有NOIP2008年第十四届全国青少年信息学奥林匹克联赛初赛试题普及组C++答案??急!! -
佛叶那妥: NOIP2008年普及组(Pascal语言)参考答案与评分标准 一、单项选择题:(每题1.5分) 1. A 2. B 3. C 4. C 5. B 6. D 7. C 8. D 9. A 10. B 11. D 12. A 13. B 14. B 15. B 16. A 17. B 18. A 19. B 20. D 二、问题求解:(共2题,每题5分,共计10分...

蓬溪县14742876211: 第14届全国青少年信息学奥林匹克联赛初赛试题(普及组)答案
佛叶那妥: 一、单项选择题:(每题1.5分) 1. C 2. A 3. B 4. C 5. B 6. D 7. D 8. E 9. B 10. C 二、 不定项选择题 (共10题,每题1.5分,共计15分.每题正确答案的个数大于或等于1.多选或少选均不得分). 11. ABD 12. AC 13. BC 14. B 15. ABC 16. ...

蓬溪县14742876211: 第十四届信息学奥林匹克联赛提高组河北省要多少分才能上啊 -
佛叶那妥: 你是指初赛进复赛吗?河北省据我所知分数线比较低,大概50分即可,不像江苏要七八十分再补充点:1,3,2这道题,我也错了...(我是上海的),递归看错了...多循环了一次....还有<=写成了数学符号..汗,一共扣了20分..不过还是合格了 noip只要有一点错误(多解,如最后完善程序除外),是全部扣光的,那你还得多扣16分,不过根据情况那里的分数线不是很高,正常发挥都能过,有点信心

蓬溪县14742876211: 第十四届信息技术奥林匹克试题与答案
佛叶那妥: 到 http://kevin19.qzone.qq.com可找到

蓬溪县14742876211: 一道第十四届信息学奥赛提高组Pascal初赛的题
佛叶那妥: ① inc(j); (或者j := j+1;) ② a[i,j] > k ③ a[i,j] < k ④ answerx := i; ⑤ answery := j;

蓬溪县14742876211: 第十四界全国青少年信息学奥林匹克联赛(普及组)初赛成绩
佛叶那妥: 一、单项选择题:(每题1.5分) 1. D 2. D 3. C 4. B 5. B 6.B 7. B 8. C 9. C 10. A 11. C 12. A 13. A 14. A 15. B 16. D 17. C 18. D 19. A 20. A二、问题求解:(每题 5分) 1.90 2.210三、阅读程序写结果 1. 15, 46(对1个数给4分,无逗号扣1分...

蓬溪县14742876211: 高中拿时间参加信息学竞赛值不值得 -
佛叶那妥: 说得功利一点的话,你看得了奖能不能给高考加分.其实也是有很多人这么作的.你可以去问问老师你参加的话得奖的机会,不要问得太直白.你自己也要想想看,参加培训外自己学习的时间,能否应付.我觉得在高中多参加一些活动也是蛮好的,即使的不了奖,自己也学到了一些东西,不是吗?就算你觉得有些浪费时间,那你不去培训,也会把所有的时间放在学习上吗? 总之了,参加还是利大于弊的 你这么问应该还是有去的想法的 希望你也好好考虑啦

蓬溪县14742876211: 信息学奥赛学什么内容?
佛叶那妥: 高中信奥赛分初赛、复赛和全国决赛三步.初赛笔试,内容是计算机基础知识,算法、编程语言和数据结构几部分.通过初赛,按一定比例择优参加所在省赛区的复赛,从去年开始,复赛分2试,第一天第一试,3小时3道编程题,第二天第二试,也是3小时3道题,两天总分相加,从高分到低分,取复赛的20%为省一等奖获得者,高考总分10分.前5名的同学组成省队参加全国决赛,决赛一等奖一般是清华北大提前录取,二等奖也会被一些类似南京大学、浙江大学等名牌院校录取.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网