CCF CSP-S 2019 提高级 C++ 语言试题及答案
    Monday, October 21, 2019
    10:28 AM

    |

    | | —- |

    | Tags: #微信 |

    CCF CSP-S 2019 提高级 C++ 语言试题及答案
    NOIP信息网 NOIP信息网
    10 月 19 日,首次 CSP-J/S 第一轮认证结束(点击查看详情)。
    CSP-S 试题及答案
    2019CCF 非 专 业 级 别 软 件 能 力 认 证 第 一 轮  (CSP-S) 提 高 级 C + 十 语 言 试 题 试 题 A 卷  认 证 时 间 . 2m9 年 月 19 日 09 二 30 一 11 · 30  考 生 注 意 事 項 :  试 韪 纸 其 有 用 死 答 芯 纸 共 有 丨 页 , 满 分 1 開 分 。 请 在 答 题 纸 上 作 答 , 写  在 试 韙 纸 上 的 一 律 无 效 ·  不 得 用 任 何 电 了 设 备 ( 如 计 算 器 . 手 机 . 电 了 词 典 等 〕 或 查 阅 任 何  贽 料 。  、 单 项 选 擇 题 ( 共 巧 韙 , 每 题 2 分 . 共 计 30 分 ; 每 题 有 且 舣 有 一 个 正 选  . 若 有 定 义 : int a=7; float x 二 2 . 5 , , = 4.7 ,  则 表 达 式 、 % 3 00 + y ) 秫  的 值 是 : (  A 、 0 . 闐 0000  B. 2 . 75 伽 0  2 . 川 000  JPEG  D. 3 . 51 围 000  , 下 列 属 于 像 又 件 格 式 的 有 〔 )  生 鼕 V  B. MPEG  3 .  过 送 制 数 \] 1 炖 月 1001 0111 和 国 0110 1110 101 \] 进 行 逻 辑 或 运 算 伯  \] 1 凵 1 1 0 01 011  0 还 1 Il 1 10 \]  编 译 器 的 功 能 是 ( 冫  A. 将 源 程 序 重 合  目 1111 1111 1101  \] 1 Il Il Il 1 1 凵  & 将 一 种 语 謊 《 遍 常 是 高 级 訁 ) 译 威 另 一 种 哈 言 ( 通 常 是 低 级 语 )  0 将 低 级 诰 訁 译 成 高 级 诰 言  D, 将 一 种 编 程 诰 訁 翻 译 成 自 然 语 言  设 变 量 、 为 float 型 且 已 赋 伯 , 则 以 . 卜 语 句 中 能 将 x 中 的 数 值 保 留 到 小  数 点 后 两 位 , 井 将 第 汾 位 凹 舍 有 人 的 是 ( 〕  x = 6 * \] 00 + 0 . 引 自 閬 ,  匚 炉 (x / 100 住 5 冫 引 00.0,  x = ( i
    0 . 有 一 个 等 比 数 列 . 共 有 奇 数 顺 . 巽 中 一 瑗 和 最 后 一 项 分 别 是 2 和 凵 ·  中 间 一 顺 是 卟 6 , 请 同 以 下 哪 个 致 是 可 能 的 公 比 2 《  厩 有 正 实 数 构 成 的 数 字 三 鱼 形 排 列 彬 式 如 图 所 示 · 第 一 行 的 数 为 街 吓 第 二 行  的 数 从 左 到 右 依 次 为 an 国 . n 行 的 数 为 t.a , , 一 諏 艹 。 从 a 凵 开 始 ,  每 一 行 的 敵 a 噎 只 有 两 条 边 可 以 分 别 通 向 下 一 行 的 两 个 数 a “ 0 和 a 《 “ 产  动 态 划 算 法 找 出 一 条 从 a 凵 向 下 到 a “ 、  .,a„.n 中 某 个 数 的 路 径 , 使  得 该 径 上 的 数 之 和 最 人 :  G 是 一 个 非 连 通 丸 向 图 ( 没 有 重 边 自 坏 ) , 有 然 条 . 划 该 图 至 少 有  《 ) 个 顶 点 ·  9 · 一 壟 数 字 可 以 过 来 看 . 到 如 0 、 1 、 S 啦@过 头 还 是 本 身 , 《 ; 倒 过 是  9 , 9 过 来 右 还 是 其 他 数 字 至 过 来 小 和 成 数 字 , 处 似 的 , 一 壘 丰  位 数 也 可 以 訓 过 看 , 比 如 106 到 过 是 丨 : 没 某 个 城 市 的 车 簧 只  有 5 位 数 字 , 每 一 位 都 可 以 取 C 到 虬 谲 河 这 个 市 有 少 个 车 等 过 来  恰 好 还 是 原 来 的 车 . # 且 车 忡 上 的 5 位 数 能 3 堅 隊 2 ( )  一 次 期 末 考 试 . 某 研 有 巧 人 数 字 得 满 分 . 有 《 2 人 语 々 满 分 . 并 且 有 4  人 语 、 数 是 分 , 那 么 这 个 至 少 有 一 门 得 满 分 的 同 学 有 丰 少 人 ? ( , 产  《 上 设 A 和 B 是 两 忄 长 为 n 的 有 序 数 组 . 在 需 将 A 和 下 合 成 一 个  好 序 的 数 组 . 請 问 任 向 以 元 比 作 为 本 运 豆 的 0 斗 算 法 , 在 最 坏 情 况 下  CTFC . s20 四 等 一 轮 C - 讼 訁 认 起  2 虫 . 其 山  至 少 要 做 少 汽 比 较 ? 〔  0 以 下 嘟 个 结 构 可 以 用 来 存 储 图 ( )  二 叉 树  《 3 . 以 下 哪 些 算 法 小 属 T 盡 心 算 法 ? 《  亡  0  20  A. & Floyd 算 法 0  上 翎 搂 迤 鈴  Prim 算 法 上 卜 ru $ 巛 1 算 法
    ![C[iJ — — 11, Cli cu — — 11 + cli — 110] — 11b — — 1101) +1 - 1]. - 1101) + 4 6 11 17 18 19 ginclude 2, CCF A](https://cdn.nlark.com/yuque/0/2021/jpg/3018302/1639544315037-6aad9157-5f66-4347-8056-b0f6eda7d56c.jpg)
    O (log n)  B. 0(nZ)  O(n logn)  6)  4  6  8  11  13  14  IS  18  19  20  28  29  31  CCF CSP-S2019 A  0012)  B. O(log n)  log n)  #include <iostream»  using namespace std;  const int maxn = loge;  int n;  int fa[maxnl, cnt[maxn];  int getR00t(int v) {  if (fa[v]  v) return v;  return  int main() {  can n;  for (int i B;  cnt[i] - 1;  int ans = a;  for (int i a;  int a, b, x, Y;  cin a b;  getROOt(a);  y getR00t(b);  ans cntLxJ * cnt[yl;  fa[x)  cnt[y] +- cnt(x];  cout ans < < endl;  return e;
    ![2) “fatil fil Scnt[i] S n. ( A. 1276 A. O(n) B. 1176 b. O(logn) c. 1225 c. 0012) 1). 1250 log n) “acd” “abcde” XJffr•Y’J, “acd” “acd” f” “adc” “abcde” s[x.. y-X+I 2 4 11 14 IS 18 19 2B “include < iostream> ginclude < string) using namespace std; const int maxl 282; string s, t; int pre[maxl], suf(maxll; int main() { cin s t; s. length(), tlen t. int slen z e; i slen, for (int i j if (j < tier, pre[i] length(); for (int i slen - I j tlen - if (j suf[il suf[slen] int ans . .t1en-1]Æ si. j; // tj+l -z tlen - 1 CCF A
    ![21 26 27 for (int i e, j : 0 , tmp : a; i 〈 。 slen; ‘ ) { While 0 〈 竺 slen 88 tmp > 竺 馴 」 f[j ] + 1 ) ‘ . 〕 ; tmp “ pre[i]; return 0 ; 提 示 t 阳 一 pre 巨 ] . 1 ] 是 5 阳 . 巨 ] 的 了 序 列 ; t uf 巨 ] · 1 . . tlen 一 1 ] 是 i. . 、 len . 1 ] 俯 子 序 列 。 判 断 匙 1 ) 0 分 ) 程 序 出 时 , suf 数 组 满 足 : 对 任 意 0 孬 《 < “ , sufftil< su 月 0 . 2 ) 0 分 ) 当 t 是 s 的 子 序 列 时 . 输 出 一 定 不 为 a 。 ( ) 3 ) 〔 2 分 ) 程 序 运 行 到 第 23 行 时 一 1 ” 一 定 不 小 十 ( 4 ) ( 2 分 ) 当 t 是 s 的 了 序 列 的 , 0 “ 數 组 和 suf 数 组 满 足 ; 对 仃 意 0 孓 下 < 、 n 选 择 题 titlen=le , 输 出 为 0 , 则 对 en 最 小 为 ( ) 6 ) %tlen-le• 输 出 为 2 , 则 en 最 小 为 ( ) 、 完 善 程 序 〔 单 选 懸 , 每 小 韙 3 分 , 共 计 30 分 ) ( 五 人 的 自 我 修 养 ) 个 五 人 决 定 要 学 习 n 个 籼 术 。 要 想 成 功 学 习 一 个 技 术 , 他 不 仅 要 拥 有 一 定 的 经 值 , 而 且 还 必 须 要 先 学 会 若 十 个 相 关 的 錢 术 · 学 会 一 个 技 术 之 后 . 仙 的 经 的 值 会 地 湘 一 个 对 应 伯 值 · 给 定 每 个 术 的 学 习 条 件 和 习 得 后 获 得 的 经 佰 , 给 定 他 已 有 饷 经 验 值 , 请 回 他 最 多 能 学 会 多 少 个 技 术 . 轮 丿 、 第 一 行 有 两 个 数 , 分 别 为 动 技 术 个 数 n ( 1 不 “ 不 1D3 ) , 以 及 已 有 经 值 ( 孓 1 沪 ) 接 下 来 n 行 。 第 i 行 餉 两 个 正 整 数 , 分 表 示 学 习 i 个 技 术 所 需 的 鎩 低 经 验 值 ( 孓 1 沪 ) , 以 及 学 会 i 个 技 术 后 可 获 得 餉 经 值 ( 孓 10 与 CCF 吓 巧 20 性 一 驼 C “ 沿 0 认 A 卷 第 0 贞 , 能 ℃ 咖
    ![12 13 14 19 21 23 24 26 28 29 33 34
    include scstdio» using namespace std; const int naxn 1001; int n; int cnt[maxn]; int childmaxnl (maxnl; int unlock[maxnl; int points; int threshold[maxn], bonus[maxn); bool find() ( int target -I; for (int i - if (CC) target i; break ; if (target return false; unlock(target] o, for (int i return true; int main() for (int cattil scanf(“ XdXd”, for (int i int scanf( i < cnt[target]; ‘points); ccvcsp.; A
    ![n. threshold[i] > X)ints B. threshold(i] points C. points > thresholdli) D. points threshold(iJ A. target ll. —cnttarget) D. points bonus [target] A. an [child [target] [i J J C. unlock( child( targetJ(i)] D. target 44 46 49 CCF m —R A for (int j int fa; 8fa); +tcnt(fal; int ans • a; While (find()) printf( ans); return O; unlock[il unlock[iJ e unlock[il unlock[il -e A. C. unlock(i] unlock[iJ unlock[ unlockiJ cnt(iJ Jtlom
    ![( 取 石 了 》 Ali “ 和 B 訃 两 个 人 在 玩 取 石 了 游 戏 。 他 们 制 定 了 n 条 取 石 了 的 @剡@ 过 0 £ 《 为 : 如 果 余 有 . 了 个 大 十 等 -Ta 川 且 人 上 等 上 . b ] i 卜 用 么 地 们 可 以 取 上 卜 国 个 石 下 0 他 们 流 取 石 了 . 如 果 轮 到 个 人 取 了 , 函 他 尢 泓 按 照 回 岬 則 取 走 右 了 . 那 么 他 就 綸 0 一 开 始 有 了 有 m 个 . 请 同 取 石 羊 的 人 是 舌 有 老 的 方 法 ? 输 入 . 行 有 两 个 正 整 数 , 分 别 为 觐 则 个 数 n ( 1 孓 月 《 64 以 以 及 石 子 个 数 m ( 孓 10 0 接 下 来 n 行 。 《 行 有 两 个 正 整 數 可 刂 和 b 。 ( 1 a 囝 孓 1 国 il 不 如 果 先 取 石 了 们 人 必 胜 , 那 么 输 出 “ W 貊 ” , 台 剡 输 出 “ “ ” 提 示 : 可 以 仗 用 动 态 既 划 解 决 这 个 同 的 由 于 b 国 不 超 过 4 , 所 以 可 以 仗 用 64 位 无 符 号 整 数 去 丿 0 宿 必 要 的 状 态 . 、 是 肘 负 态 的 二 迅 制 泺 縮 , 雁 n 、 是 状 态 转 移 的 0 进 制 乐 缩 · 试 补 全 程 序 。 代 吗 说 明 : ” 表 示 二 进 制 补 到 运 算 符 , 它 耥 每 个 过 进 制 位 的 9 变 为 1 . 1 变 为 ilij - using namespace Std; const Int maxn 西 64 ; int a(maxn], btmaxn]; unsigned long long status’ b001 win, 12 int main() { 5 anf(“ 溺 “ , gn, &m); trans; fo 0 ( 1 nt i 9 ; i < n ; 44 i ) scanf(“%d%d”, 巨 L &bli]); CCFcsp-s 2 到 9 第 一 轮 0 , 訁 ^ 卷 9 负 , 其 ] O 负” class=”align-none”>
    ![16 22 23 24 31 32 1) 2) trans status for (int i = for (int status (D; trans = B; for (int i = I, while (j < n Win = (J, puts (win ? return O; “Win” a[jJ); • “Loss’•); -aull atjJ • trans luli (b[j] status ILJI I (błj] status lun (b[j] trans ILII I (bj] A. —status I trans C. status I trans -1) D. Status g trans —status & trans C. status I trans win trans - trans I Win status trans I win status - status win mol.
    2019CCF 非 专 业 级 别 软 件 能 力 认 证 第 一 轮  (CSP-S) 提 高 级 参 考 答 案  、 单 项 选 择 题 ( 共 10 题 , 每 题 2 分 , 共 计 30 分 )  00000 豇 豇 00 豇  1 3  1 5  、 阅 读 程 序 ( 除 特 殊 说 明 外 , 判 断 题 1 . 5 分 , 选 择 题 4 分 , 共 计 40 分 )  第 1 题  第 2 题  第 3 题  1 ) ( 1 分 )  1 ) ( 1 分 )  1 ) ( 1 分 )  判 断 题 ( 煩 寻 或 × )  2 ) 0 分 )  判 断 题 ( 煩 或 的  2 ) 0 分 )  判 断 题 ( 煩 或 × )  2 ) ( 2 分 )  3 ) ( 2 分 )  4 ) ( 2 分 )  、 完 善 程 序 ( 单 选 题 , 每 小 题 3 分 , 共 计 30 分 )  第 1 题  单 选 题  5 ) ( 3 分 )  单 选 题  单 选 题  第 2 题  4 )
    回-  回•  흚回
    长按二维码识别 关注 NOIP 信息网
    在看
    已使用 Microsoft OneNote 2016 创建。