2017 初赛PJ 错题解析
Posted sjsjsj-minus-si
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017 初赛PJ 错题解析相关的知识,希望对你有一定的参考价值。
期望得分:82.5
实际得分:42.5(不借助任何资料及计算器)
出现的低级失误(共计36分):
1.T28(9) 因ubound写成rbound痛失9分(明明全对的……)
2.
T27(3) result%m 正确答案: result
该取模的时候才取模!不能养成步步取模的习惯
3.T8(1.5) 裸的zeller公式都能算错……还算错三遍
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
注意m+1,这玩意儿切忌心算,必须动手算!
4.T14(1.5) 若串 S = “copyright”,其子串的个数是( )。
要算空串!
45+1
5.T21(5) 找规律的题已经找出规律了但由于心算,痛失5分
6.T23(8) 那么大一个
return 0;
我没看见!痛失8分
7.T24(8) 眼残算错了一个数,这玩意儿检查的时候估计检查不出来,只能第一遍算的时候细心细心再2细心
小知识点
- 从(2022 )年开始,NOIP 竞赛将不再支持 Pascal 语言。
- 计算机存储数据的基本单位是(Byte)。
下列不属于面向对象程序设计语言的是(C )。
搞不懂的题
第 26 题
阅读程序写结果
#include<iostream>
using namespace std;
int main()
int n, m;
cin >> n >> m;
int x = 1;
int y = 1;
int dx = 1;
int dy = 1;
int cnt = 0;
while (cnt != 2)
cnt = 0;
x = x + dx;
y = y + dy;
if (x == 1 || x == n)
++cnt;
dx = -dx;
if (y == 1 || y == m)
++cnt;
dy = -dy;
cout << x << " " << y << endl;
return 0;
输入 1:4 3
输出 1:_________(3 分)
输入 2:2017 1014
输出 2:_________(5 分)
1.正确答案: 1 3
2.正确答案: 2017 1
第 25 题
阅读程序写结果
#include<iostream>
using namespace std;
int main()
string ch;
int a[200];
int b[200];
int n, i, t, res;
cin >> ch;
n = ch.length();
for (i = 0; i < 200; i++)
b[i] = 0;
for (i = 1; i <= n; i++)
a[i] = ch[i - 1] - '0';
b[i] = b[i - 1] + a[i];
res = b[n];
t = 0;
for (i = n; i > 0; i--)
if (a[i] == 0)
t++;
if (b[i - 1] + t < res)
res = b[i - 1] + t;
cout << res << endl;
return 0;
输入:1001101011001101101011110001
输出:_________
18(WA)
正确答案: 11
T17
第 17 题
设 A 和 B 是两个长为 n 的有序数组,现在需要将 A 和 B 合并成一个排好序的数组,任何以元素比较作为基本运算的归并算法在最坏情况下至少要做( )次比较。
A. n^2
B. n log n
C. 2n
D. 2n - 1
正确答案: D
考察归并排序,可参考《大话数据结构》9.8节。
这题考的是比较次数,而不是时间复杂度或空间复杂度。
先看看最好的情况,设有序数组A[4] = 1, 3, 5, 7, 有序数组B[4] = 8, 10, 12, 14, 数组C[8]用来存储比较后的结果。
1与8比较,把1放到C中,C[] = 1
3与8比较,把3放到C中,C[] = 1, 3
5与8比较,把5放到C中,C[] = 1, 3, 5
7与8比较,把7放到C中,C[] = 1, 3, 5, 7
剩下的不用比较,直接放到C中,C[] = 1, 3, 5, 7, 8, 10, 12, 14
共比较了4次,即n次
>再看看最坏的情况,设有序数组A[4] = 1, 3, 5, 7, 有序数组B[4] = 2, 4, 6, 8, 数组C[8]用来存储比较后的结果。
1与2比较,把1放到C中,C[] = 1
2与3比较,把2放到C中,C[] = 1, 2
3与4比较,把3放到C中,C[] = 1, 2, 3
4与5比较,把4放到C中,C[] = 1, 2, 3, 4
5与6比较,把5放到C中,C[] = 1, 2, 3, 4, 5
6与7比较,把6放到C中,C[] = 1, 2, 3, 4, 5,6
7与8比较,把7放到C中,C[] = 1, 2, 3, 4, 5, 6, 7
最后的8不用比较,直接放到C中,C[] = 1, 2, 3, 4, 5, 6, 7, 8
共比较了7次,即2n - 1次
以上是关于2017 初赛PJ 错题解析的主要内容,如果未能解决你的问题,请参考以下文章