云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > noip二十三届全国青少年信息学奥赛初赛试题及答案c

noip二十三届全国青少年信息学奥赛初赛试题及答案c

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 0:15:28

for (i = 0; i < 256; i++) t[i] = 0; for (i = 0; i < s.length(); i++) t[s[i]]++; for (i = 0; i < s.length(); i++) if (t[s[i]] == 1) { cout << s[i] << endl; return 0; }

cout << \}

输入:xyzxyw 输出:_________

2.#include using namespace std; int g(int m, int n, int x) { int ans = 0; int i;

if (n == 1) return 1;

for (i = x; i <= m / n; i++) ans += g(m - i, n - 1, i); return ans; } int main() { int t, m, n; cin >> m >> n;

cout << g(m, n, 0) << endl; return 0; }

输入:7 3 输出:_________

3.#include 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; } 输入:

输出:_________

4.#include 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 << \}

输入 1:4 3

输出 1:_________(3 分) 输入 2:2017 1014

输出 2:_________(5 分)

四、完善程序(共 2 题,每题 14 分,共计 28 分)

1.(快速幂)请完善下面的程序,该程序使用分治法求xp?mod m 的值。(第一空 2 分,其余 3 分)

输入:三个不超过 10000 的正整数 x,p,m。 输出:xp?mod m 的值。

提示:若 p 为偶数,xp=(x2)p/2;若 p 为奇数,xp=x*(x2)(p-1)/2。 #include using namespace std; int x, p, m, i, result; int main() { cin >> x >> p >> m;

result =?? ? ? ? ?(1) ? ? ? ??; while (?? ? ? ? ?(2) ? ? ? ??) { if (p % 2 == 1)

result =?? ? ? ? ?(3) ? ? ? ??; p /= 2;

x =?? ? ? ? ?(4) ? ? ? ??; }

cout <

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

for (i = 0; i < 256; i++) t[i] = 0; for (i = 0; i < s.length(); i++) t[s[i]]++; for (i = 0; i < s.length(); i++) if (t[s[i]] == 1) { cout << s[i] << endl; return 0; } cout << \} 输入:xyzxyw 输出:_________ 2.#include using namespace std; int g(int m, int n, int x) { int ans = 0; int i; if (n == 1) return 1; for (i = x; i <= m / n; i++) ans += g(m - i, n - 1, i); re

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com