| Jianfei's profilethinXer's Zone!BlogLists | Help |
|
|
January 25 信息学的google group给信息学做了个google group,感觉还不错,只是没东西可放,因为水平还很浅地址:http://groups.google.com/group/oibh October 23 第十一届全国青少年信息学奥林匹克联赛初赛报名参加了信息学奥林匹克,在上周六考得,除了选择填空什么都不会了。
NOIP2005提高 C
第十一届全国青少年信息学奥林匹克联赛初赛试题
( 提高组 C 语言 二小时完成 )
●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●
一、 单项选择题 (共10题,每题1.5 分,共计 15分。每题有且仅有一个正确答案.)。
1. 字符串“ababacbab”和字符串“abcba”的最长公共子串是( )。
A. abcba B. cba C. abc D. ab E. bcba
2. 设全集I = {a, b, c, d, e, f, g, h},集合 A∪B= {a, b, c, d, e, f}, A∩C = {c, d, e},
A∩ ~ B= {a, d},那么集合A∩B∩C为( )。
A. {c, e} B. {d, e} C. {e} D. {c, d, e} E. {d, f}
3. 以下二进制数的值与十进制数23.456的值最接近的是( )。
A. 10111.0101 B. 11011.1111 C. 11011.0111 D. 10111.0111 E. 10111.1111
4. 完全二叉树的结点个数为4 * N + 3,则它的叶结点个数为( )。
A. 2 * N B. 2 * N - 1 C. 2 * N + 1 D. 2 * N - 2 E. 2 * N + 2
5. 平面上有五个点A(5, 3), B(3, 5), C(2, 1), D(3, 3), E(5, 1)。以这五点作为完全图G 的顶点,
每两点之间的直线距离是图 G 中对应边的权值。图 G 的最小生成树中的所有边的权值
综合为( )。
A. 8 B. 7+ 5 C. 9 D. 6+ 5 E. 4+2 2 + 5
6. 下列设备中没有计算功能的是( )。
A. 笔记本电脑 B. 掌上电脑 C. 智能手机
D. 电子计算器 E. 液晶显示器
7. Intel的首颗64位处理器是( )。
A. 8088 B. 8086 C. 80386 D. 80486 E. Pentium
8. 常见的邮件传输服务器使用( )协议发送邮件。
A. HTTP B. SMTP C. TCP D. FTP E. POP3
9. 不能在Linux上使用的网页浏览器是( )。
A. Internet Explore B. Netscape C. Opera D. Firefox E. Mozilla
10. 一位艺术史学家有20000幅1024 * 768的真彩色图像,如果将这些图像以位图形式保存
在CD 光盘上(一张CD 光盘的容量按 600M计算),大约需要( )张 CD光盘。
A. 1 B. 10 C. 100 D. 1000 E. 10000
二、 不定项选择题 (共10题,每题 1.5 分,共计15 分。多选或少选均不得分)。
11. 设A = true,B = false,C = false,D = true,以下逻辑运算表达式值为真的有( )。
A. (AB∧ )∨(CD∧ ) B. ((AB∧ )C∨ )D∧ C. A∧((BC∨ )D∨ )
D. (A∧(BC∨ ))D∨ E. (AB∨ )∧(CD∨ )
12. (3725)8 + (B)16的运算结果是( )。
A. (3736)8 B. (2016)10 C. (11111100000)2 D. (3006)10 E. (7E0)16
13. 二叉树T的宽度优先遍历序列为 A B C D E F G H I,已知 A是 C的父结点,D 是G 的
父结点,F 是 I 的父结点,树中所有结点的最大深度为 3(根结点深度设为 0),可知 E
的父结点可能是( )。
A. A B. B C. C D. D E. F
14. 设栈S的初始状态为空,元素a, b, c, d, e, f, g依次入栈,以下出栈序列不可能出现的有
( )。
A. a, b, c, e, d, f, g B. b, c, a, f, e, g, d C. a, e, c, b, d, f, g
D. d, c, f, e, b, a, g E. g, e, f, d, c, b, a
15. 下列外设接口中可以通过无线连接的方式连接设备的是( )。
A. USB 2.0 高速版 B. 红外 C. 蓝牙 D. 串口 E. IEEE 802.11g 无线网卡
16. 处理器 A 每秒处理的指令数是处理器 B 的 2 倍。某一特定程序 P 分别编译为处理器 A
和处理器 B 的指令,编译结果处理器 A 的指令数是处理器 B 的 4 倍。已知程序 P 的算
2
法时间复杂度为O(n ),如果处理器A执行程序 P时能在一小时内完成的输入规模为 n,
则处理器B执行程序P时能在一小时内完成的输入规模为( )。
A. 4 * n B. 2 * n C. n D. n / 2 E. n / 4
17. 以下哪个(些)不是计算机的输出设备( )。
A. 鼠标 B. 显示器 C. 键盘 D. 扫描仪 E. 绘图仪
18. 以下断电之后将不能保存数据的有( )。
A. 硬盘 B. 寄存器 C. 显存 D. 内存 E. 高速缓存
19. 下列活动中属于信息学奥赛系列活动的是( )。
A. NOIP B. NOI C. IOI D. 冬令营 E. 国家队选拔赛
20. 下列关于高级语言的说法正确的有( )。
A. Ada 是历史上的第一个高级语言
B. Pascal和C都是编译执行的高级语言
C. C++是历史上的第一个支持面向对象的语言
D. 编译器将高级语言程序转变为目标代码
E. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上
三.问题求解(请在空格处填上答案,每空5 分,共计 10分)
1. 将数组{32, 74, 25, 53, 28, 43, 86, 47}中的元素按从小到大的顺序排列,每次可以交换任
意两个元素,最少需要交换 次。
2. 取火柴游戏的规则如下:一堆火柴有 N 根,A、B 两人轮流取出。每人每次可以取 1 根或
2根,最先没有火柴可取的人为败方,另一方为胜方。如果先取者有必胜策略则记为 1,
先取者没有必胜策略记为 0。当 N分别为 100,200,300,400,500 时,先取者有无必
胜策略的标记顺序为 (回答应为一个由 0 和/或 1 组成的字
符串)。
四.阅读程序(共4题,每题8分,共计 32 分)
1. #include
int main() {
int a, b, c, p, q, r[3];
scanf(“%d%d%d”, &a, &b, &c);
p = a / b / c;
q = b – c + a + p;
r[0] = a * p / q * q;
r[1] = r[0] * (r[0] – 300);
if (3 * q – p % 3 <= r[0] && r[2] == r[2])
r[1] = r[r[0] / p % 2];
else
r[1] = q % p;
printf(“%d\n”, r[0] – r[1]);
return 0;
}
输入:100 7 3
输出:
2. #include
#include
int a[50];
void work(int p, int r) {
if (p < r) {
int i = p - 1, j, temp;
for (j = p; j < r; j++) {
if (a[j] >= a[r]) {
i++;
temp = a[i]; a[i] = a[j]; a[j] = temp;
}
}
temp = a[i + 1]; a[i + 1] = a[r]; a[r] = temp;
work(p, i);
work(i + 2, r);
}
}
int main() {
int n, i, sum = 0;
scanf("%d", &n);
for (i = 0; i < n; i++) scanf("%d", &(a[i]));
work(0, n - 1);
for (i = 0; i < n - 1; i++) sum += abs(a[i + 1] - a[i]);
printf("%d\n", sum);
return 0;
}
输入:10 23 435 12 345 3123 43 456 12 32 -100
输出:
3. #include
#include
int main(){
char str[60];
int len, i, j, chr[26];
char mmin = 'z';
scanf("%s", str);
len = strlen(str);
for (i = len - 1; i >= 1; i--)
if (str[i - 1] < str[i]) break;
if (i == 0) {
printf("No result!\n");
return 0;
}
for (j = 0; j < i - 1; j++) putchar(str[j]);
memset(chr, 0, sizeof(chr));
for (j = i; j < len; j++) {
if (str[j] > str[i - 1] && str[j] < mmin)
mmin = str[j];
chr[str[j] - 'a']++;
}
chr[mmin - 'a']--;
chr[str[i - 1] - 'a']++;
putchar(mmin);
for(i = 0; i < 26; i++)
for(j = 0; j < chr[i]; j++)
putchar(i + 'a');
putchar('\n');
return 0;
}
输入:zzyzcccbbbaaa
输出:
4. #include
long g(long k) {
if (k <= 1) return k;
return (2002 * g(k - 1) + 2003 * g(k - 2)) % 2005;
}
int main() {
long n;
scanf("%ld", &n);
printf("%ld\n", g(n));
return 0;
}
输入:2005
输出:
五.完善程序 (前5空,每空2分,后6 空,每空3分,共 28 分)
1.木材加工
题目描述:
木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头(木头有可能有
剩余),需要得到的小段的数目是给定了的。当然,我们希望得到的小段越长越好,你的任
务是计算能够得到的小段木头的最大长度。
木头长度的单位是 cm。原木的长度都是正整数,我们要求切割得到的小段木头的长度
也是正整数。
输入:
第一行是两个正整数N和K(1 ≤ N ≤ 10000,1 ≤ K ≤ 10000),N是原木的数目,
K是需要得到的小段的数目。
接下来的N行,每行有一个1到10000之间的正整数,表示一根原木的长度。
输出:
输出能够切割得到的小段的最大长度。如果连1cm长的小段都切不出来,输出”0”。
输入样例:
3 7
232
124
456
输出样例:
114
程序:
#include
int n, k, len[10000];
int isok(int t) {
int num = 0, i;
for (i = 0; i < n; i++) {
if (num >= k) break;
num = ① ;
}
if ( ② ) return 1;
else return 0;
}
int main() {
int i, left, right, mid;
scanf("%d%d", &n, &k);
right = 0;
for (i = 0; i < n; i++) {
scanf("%d", &(len[i]));
if (right < len[i]) right = len[i];
}
right++;
③ ;
while ( ④ < right) {
mid = (left + right) / 2;
if ( ⑤ ) right = mid;
else left = mid;
}
printf ("%d\n", left);
return 0;
}
...... 不过第四个程序运行没有结果,奇怪。 October 03 所谓学C的瞧不起学VB的to 287的那位大哥:
August 22 Google Sidebar引用自WebLeOn
August 18 这几日订阅RSS,读到了许多很新鲜的东西看网上的著名blogger的文章和文摘,大部分都是关于Web 2.0和六度理论的。我对网上交友没什么兴趣,但是六度理论真的很有趣。今天看到“残缺的六度理论和SNS实践者们",感觉sns和六度是很有趣的东西。有空找个sns网站看...
我对web 2.0比较感兴趣,但是了解不深。听起来很诱人的样子..但愿不要永远是beta..
还有一片关于qq和msn的问题,“QQ也有好用的地方,有时候还不得不用”,感觉和我的情况很相似。不过我对qq的远程协助没有好感..用了几次都失败了..别的qq功能没用过..觉得群太乱了..每次同学把我加上去,过不了5min就受不了了,根本做不了工作,就得退出群,这也充分显示了qq的用户群之大。qq上面的功能用不到,就用tm,这个模仿msn的东西..用起来还算顺手,尤其是截屏功能不错..不过tm居然也那么大...非官方的qq又不好用..还得用TM.. August 17 又看到几个站游啊游,碰到了几个站,推荐一下。
一个是msn的vitualearth,和google earth差不多,服务集中在美国。易用性上google earth的那个地球可以让你感觉很爽,不过msn的virtual的操作也是很方便的,网站服务,居然支持滚轮,比google map要好得多。在美国,msn的卫星照片有很鲜亮的彩色,比google的好看多了,清晰度上,感觉msn比google要差一点(我看的是五角大楼这个地方的汽车),一点点而已。速度上msn也比google要快一点。
然后就是start.com,也是msn的,感觉和google的个性化主页差不多,不过start.com的界面确实不错,尤其是添加内容的时候,那个浮出来的界面很棒。左边的sidebar感觉也很不错。
再就是NASA,猜猜是什么网站...自己看看去吧...除了速度比较慢..里面的内容绝对酷毙..不多说了,强烈推荐的网站。
最后,推荐一个相册网站,flikr.com,一个很不错的相册网站,yahoo下面的,有yahoo的ID可以直接登录,提供一个uploadr,也可以网页上传,速度还不错,可以提供大图和固定连接,比msn的相册不知道强多少倍...20MB一个月的流量限制...好在我没有那么多的照片
PS:编辑这个帖子的时候遇到一件怪事,写了许多,保存为草稿后居然丢了不少,赶紧后退,内容还在,重新保存就没事了.. August 16 我这几年的VB成果几年学VB,学到了不少,成品没几个。大部分都是在测试某一个代码而建立,或者是为了一个想法,出现了许多半成品,又不忍心删除,结果VB文件夹里面就出现了很多的半成品。在一次硬盘故障恢复后,发现目录结构变化,结果vb目录里面又嵌套了一个VB目录,弄得很混乱。也没兴趣整理。要上高中了,即将告别我的电脑..准备把那些东西在这里整理一下,来作纪念。
怎么排序呢?不知道,那就排名不分先后。
第一个当然是thinMSN!这个暑假的作品。基本可以聊天的东西...代码大概1100行左右,收获许多:
然后是SideBar,EXE时间标记是2003.11,现在看起来一个依然很不错的东西,主程序是一个框架,依靠插件来实现功能。半成品。主要是尝试插件功能,使用ActiveX DLL实现,效果很不错,这个插件框架后来被用在“咪咪虫”程序上,很可惜,咪咪虫也流产了。 然后是一个求一个数的N次方根的东西,自己写的算法,还不错。EXE时间标记:2004.2 其次是LANCHAT,一个半成品,EXE时间标记是2004.2,用于在局域网中聊天,现在看来很不成熟,写过thinMSN以后,这个东西就没什么价值了。 然后打开vb里面的vb文件夹,里面有个common,打开一看,好多好东西...现成的代码模块...PareWindowColor, AlwaysOnTop, Base64, ChangeDisplayMode, Cursor, Gradient, AddTrayIcon..都是好东西啊.. 发现了English!,时间标记2003.10,仿照一个英语学习软件作的,居然做出来了。用了数据库(破解的那个软件的英语数据库),很笨的用法。还有MS Agent,就是类似于office助手之类的东西,能说英语的。挺好玩的东西。呵呵。不知道那时的我是怎么写出来的。代码不少(虽然质量不高),刚数了数,300行左右,对当时来说很不错了。 下一个是一个游戏BombMan,2003.10,用GDI写的,但是...却使用的是DirectX常用的loop循环。更令我惊奇的是,用的是VB,我却为man,bomb写了类!我都感到奇怪了。更奇怪的是这些类不仅仅是数据结构,更实现了不少功能。唉,估计现在都写不出来了。当时写的时候赛扬333,速度还可以接受,现在速度快的,达到了1000fps,无法使用了。呵呵。 然后呢..还有一个帮你自动点鼠标的东西,以前我的网站上有..没有界面,用起来别有一番感觉。想想看,把你的鼠标指到一个地方,就自动帮你点一下..当然,有时候会画蛇添足,呵呵。还有一个区位码查询器,升学涂卡的时候可以用。 还写过CloseIt,是一个让我感觉很好的东西,帮你自动关闭特定窗口,或者点按钮。还有一个SPY,仿照一个VC写的miniSPY写的,参考了另一个vb写的spy软件,挺好用的东西.这两个软件都是练习win32api而写的。 呵呵,还有,有一次下载漫画,自己写了个看漫画的东西,呵呵。玩猜数字,就自己写了个猜数字。挺好玩的。 别的..完成都到不了20%,就不写了,呵呵
上面的图片全都是用html代码敲出来的,KlaithZhang教给我的float:right真好用啊,谢谢KlaithZhang!
PSP上的windows
哈哈,在BoingBoing(现在我也不清楚BoingBoing是什么东东)上面见到的,呵呵
» Windows on a PSP from Boing Boing
相关链接:http://crystaltips.typepad.com/wonderland/2005/08/psp_running_win.html
PS:"float:right"果然好用,呵呵 偶然,baidu当掉了第一次遇到:
August 14 Bloglines...i have never heard of "Bloglines" before KlaithZhang's comment....
tried Bloglines today...good...don't need a RSS reader..Just read online...I need it!
It doesn't have a Simplified Chinese interface..I don't like the Traditional Chinese interface..so just use the English..don't know many things on bloglines..studying it...
add some news and BoingBoing(what's Boing Boing) and some other RSS of spaces..good..but showing comments are inconvenient... August 13 QQ被打败?假想QQ被MSN打败的十大理由我鄙视QQ
除了下面所写的...还有几点理由:
1、安全性。很明显,MSN比QQ安全得多。
2、QQ号码。我不多说了..大家都很清楚..
3、QQ挂机..
还有..QQ一直在学MSN...
还有..QQ越来越臃肿的身材..无用的功能..
当然,MSN也有不足..但无论如何..i love messenger!
引用
August 12 我的VB的base64编解码(base64居然不允许出现在标题中,鬼知道Space是怎么想的)
在网上没找到VB的base64编解码,自己写了一个,运行得还不错。注释就不写了,我比较懒。
有需要的可以使用,使用时要告知我一声哦
Attribute VB_Name = "mdlBase64"
Option Explicit Private Const B64_CHAR_DICT = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" '*****************************
'BY thinXer 'started on 2th August,2005 'ended on 3th August,2005 '代码可读性极差 '但值得庆幸的是 'IT WORKS WELL!!! '***************************** Function base64Encode(bytInput() As Byte) As String
Dim buf() As Byte Dim length As Long, mods As Long mods = (UBound(bytInput) + 1) Mod 3 length = UBound(bytInput) + 1 - mods ReDim buf(length / 3 * 4 + IIf(mods <> 0, 3, 0)) Dim i As Long For i = 0 To length - 1 Step 3 buf(i / 3 * 4) = (bytInput(i) And &HFC) / &H4 buf(i / 3 * 4 + 1) = (bytInput(i) And &H3) * &H10 + (bytInput(i + 1) And &HF0) / &H10 buf(i / 3 * 4 + 2) = (bytInput(i + 1) And &HF) * &H4 + (bytInput(i + 2) And &HC0) / &H40 buf(i / 3 * 4 + 3) = bytInput(i + 2) And &H3F Next If mods = 1 Then buf(length / 3 * 4) = (bytInput(length) And &HFC) / &H4 buf(length / 3 * 4 + 1) = (bytInput(length) And &H3) * &H10 buf(length / 3 * 4 + 2) = 64 buf(length / 3 * 4 + 3) = 64 ElseIf mods = 2 Then buf(length / 3 * 4) = (bytInput(length) And &HFC) / &H4 buf(length / 3 * 4 + 1) = (bytInput(length) And &H3) * &H10 + (bytInput(i + 1) And &HF0) / &H10 buf(length / 3 * 4 + 2) = (bytInput(length) And &HF) * &H4 buf(length / 3 * 4 + 3) = 64 End If For i = 0 To UBound(buf) base64Encode = base64Encode + Mid(B64_CHAR_DICT, buf(i) + 1, 1) Next End Function Function base64Decode(strInput As String) As Byte() Dim bytOutput() As Byte Dim i As Long, j As Long, nPos As Long nPos = InStr(1, strInput, "=") If nPos <> 0 Then strInput = Left(strInput, nPos - 1) End If Dim length As Long, mods As Long mods = Len(strInput) Mod 4 length = Len(strInput) - mods ReDim bytOutput(length / 4 * 3 - 1 + Switch(mods = 2, 1, mods = 3, 2)) For i = 1 To length Step 4 Dim buf(3) As Byte For j = 0 To 3 buf(j) = InStr(1, B64_CHAR_DICT, Mid(strInput, i + j, 1)) - 1 Next bytOutput((i - 1) / 4 * 3) = buf(0) * &H4 + (buf(1) And &H30) / &H10 bytOutput((i - 1) / 4 * 3 + 1) = (buf(1) And &HF) * &H10 + (buf(2) And &H3C) / &H4 bytOutput((i - 1) / 4 * 3 + 2) = (buf(2) And &H3) * &H40 + buf(3) Next If mods = 2 Then bytOutput(length / 4 * 3) = (InStr(1, B64_CHAR_DICT, Mid(strInput, length + 1, 1)) - 1) * &H4 + ((InStr(1, B64_CHAR_DICT, Mid(strInput, length + 2, 1)) - 1) And &H30) / &H10 ElseIf mods = 3 Then bytOutput(length / 4 * 3) = (InStr(1, B64_CHAR_DICT, Mid(strInput, length + 1, 1)) - 1) * &H4 + ((InStr(1, B64_CHAR_DICT, Mid(strInput, length + 2, 1)) - 1) And &H30) / &H10 bytOutput(length / 4 * 3 + 1) = ((InStr(1, B64_CHAR_DICT, Mid(strInput, length + 2, 1)) - 1) And &HF) * &H10 + ((InStr(1, B64_CHAR_DICT, Mid(strInput, length + 3, 1)) - 1) And &H3C) / &H4 End If base64Decode = bytOutput End Function August 11 start.com?今天偶然搜索到一个blog,突然发现MS居然在做start.com,内容和google的个性化主页差不多...惊险阿
还有一个start.com的blog:http://spaces.msn.com/members/startcom/
觉得那个主题不错..就用过来了..开始还不是很习惯..慢慢就可以了.我还是很喜欢这个主题的..
突发奇想用Google Ads赚钱..在MSN Space上实施很难..不管它,先注册一个看看..收款人必须年满18岁...唉,不注册了..
还看到了一个MSN Space的Powertoy,没用成功,因为要在英文的版面下才可以..我怎么也调不成英文的..郁闷...
玩了极品飞车8:地下狂飙2下载的2CD,第二张CD有SafeDisc,结果虚拟光驱
感觉很爽阿..
画面很棒...可惜我的显卡...有点跟不上了..640*480打开全部细节有点慢..不过感觉还好
很自由的城市...开车兜风..爽阿..尤其是甩尾模式,哈哈
还可以下雨..效果很不错
August 05 WMP10体验为了夏令营的节目,我找个。顺便下载了几首歌曲。复制到mp3 player.特旧的mp3,不支持wmv9,以前wmp的同步功能转换出来的都不能听。现在...居然可以了。舒服。
开着wmp10的时候,接上mp3,找到设备,选择自动同步,然后,可以设置自动同步的条件,比如评为4-5星的,或者是上个月新加入的之类。当然,你也可以使用同步列表,不过那样就失去了乐趣。我使用自动同步,然后...符合条件的文件,就一个一个的转换(自动的,有些不会转换),然后复制到mp3上。感觉太妙了。
还有现在可以查找中文的唱片集信息了,许多歌曲都可以找到,不过有图片的不多。感觉还是很爽啊。
不说了,那些BS微软的人要要人烂鸡蛋了... July 25 MSN7.5中文版 测试好几天前(大概一星期前,那时没兴趣装)莫名其妙的,收到了MSN BETA的邀请,中文的。按提示登陆网站,英文的(不过没关系,微软的网站都是一个样子的),是个connect.microsoft.com,按要求登陆,填上序号,然后进入。一大堆信息,不看。只找download,找到。还要用File Tranfer这个东西,一个MS的插件,用途是防止外部连接盗链,我下载的时候根本无法得到下载地址。试了好几次才打开。后来发现这东西网上已经有下载了,晕。装上一看,除了登陆界面好看,别的没变化。唯一的新功能是语音剪辑。可是现在上哪里去找用了MSN7.5的用户?只好自己开两个(MSN SHELL居然在7.5上也能用),聊天时按住F2然后说话,声音就被发送过去了。一般好玩。别的功能没什么呢,没发现。下面是两张图片。
发现新功能!动态背景,好像是flash的.截两个图
还有,可以保存多个帐户的密码了
别问我下载...自己去搜索! July 18 longhorn5048试用this passage is typed in longhorn.
mspy2003 is always causing errors so i have to type in english.
Oh....Let ME TRY SuangPin 6.0...Can't USE.the language bar is improved...see the pictures below...ALL THE IMEs CAN'T USE.
sidebar disappeared,can't find...i can't type any more...type back in xp ..
十分失望,许多4074的功能没有了
|
|
|