noip2009普及组初赛讲解 答案

赶考完 求求各位大侠相助
2024-12-28 10:37:22
推荐回答(2个)
回答1:

NOIP2009初赛普及组(C语言、PASCAL语言)参考答案与评分标准

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

1. D 2. B 3. A 4. A 5. B

6. D 7. C 8. B 9. C 10. D

11. C 12. C 13. B 14. D 15. D

16. B 17. D 18. A 19. C 20. B

二、问题求解:(共2题,每空5分,共计10分)

1.70

2.5

三、阅读程序写结果(共4题,每题8分,共计32分)

1. 4

2. 416

3. 782

4. NPOI

四.完善程序 (前8空,每空3分,后2空,每空2分,共28分)

(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查)

C语言:

1.

① 0

② tmp+a[i]==ans 或者 a[i]+tmp==ans 或者ans==a[i]+tmp等

③ <0

④ i

⑤ tmp+=a[i] 或者 tmp=tmp+a[i]

2.

① 0

② hash[i][j]++ 或者 hash[i][j]= hash[i][j]+1 或者 ++hash[i][j]

③ work(x,y,tot+1)

④ hash[i][j]-- 或者 hash[i][j]= hash[i][j]-1 或者--hash[i][j]

⑤ work(0,0,0)

注意:② ④ 两空,不一定要++ 或者 - -。也可以是④ - - , ② ++. 也可以是 += k , 也可以 -= k, 甚至任何加标记的操作(如位运算)都可以,只要相互撤销。(所以答案非常多)。

PASCAL语言:

1.

① 0

② tmp+a[i]=ans或者 a[i]+tmp=ans 或者ans=a[i]+tmp等

③ <0

④ i

⑤ inc(tmp, a[i])或者tmp := tmp+a[i]

2.

① 0

② inc(hash[i, j])或者 hash[i][j]:= hash[i][j]+1

③ work(x,y,tot+1)

④ dec(hash[i, j]) 或者 hash[i][j]:= hash[i][j]-1

⑤ work(0,0,0)

注意:② ④ 两空,不一定要+1 或者 -1。也可以是④ -1 , ② +1. 也可以是 + k , 也可以 - k, 甚至任何加标记的操作(如位运算)都可以,只要相互撤销。(所以答案非常多)。

回答2:

你的答案对吗?一楼?