发信人: imcc (HAKUNA MATATA), 信区: VisualC
标 题: 首届全国高校BBS联合程序开发大赛章程
发信站: 兵马俑BBS (Sun Mar 14 21:13:52 2004), 本站(bbs.xjtu.edu.cn)
========================================================
首届全国高校BBS联合程序开发大赛章程
========================================================
0.总则
为了增进全国各个高校BBS之间的友谊,促进程序设计相关技术版面的交流和合作,丰富各个版面的活动,饮水思源,兵马俑,小百合,水木清华,白云黄鹤5个BBS站点联合举办了首届全
国高校BBS联合程序开发大赛.
1.组织者和参与者
2. 赛题及比赛形式
- 2.0 为了充分发挥参赛者的创造性和技术专长,大赛将分两个项目:算法和应用程序设计,分别计算成绩.
- 2.1 算法项目:算法是程序设计的核心!算法项目挑战你快速编程和快速解决问题的能力.题目内容涉及算法设计、数据结构、数学逻辑、代码优化等.
- 2.2 应用项目:激发你的潜能,展现你的创造力!应用项目会向你提供几个技术方向,或者应用要求,你可以在这个框架下,自由发挥,充分展现你的创造力!
- 2.3 算法项目共5个,参赛者需在公布的5道赛题中任意选择3道完成.应用项目共3个,参赛者需在公布的3道赛题中任意选择1 个项目完成.一个ID可以同时参加两个项目.赛题例题见附录.
- 2.4 算法项目和应用项目都可以使用任何共享的第三方库和控件.
- 2.5 赛题由组委会邀请资深网友拟制,组委会讨论决定,并于赛前在5个BBS同时公布.
- 2.6 比赛形式:算法项目采用单ID参赛的形式,应用项目参赛人数不限,但是鼓励多人合作完成程序.
- 2.7 比赛期间,鼓励参赛者就题目进行充分的交流.
- 2.8 大赛语言为Visual Studio 6.0和Visual Studio .NET支持的所有语言.推荐使用.NET开发平台.(评审成绩与开发平台无关)
3. 作品提交及评比
- 3.0 提交:参赛作品统一提交到由组委会提供的FTP(赛后公布),并按照如下的格式命名.
SN@日期
SN为5站统一分配的参赛序列号,日期为作品提交的日期,例如1120号选手4月20日提交的作品命名为:1120@04.20,
- 3.2 采取网友投票选举+裁判团评审的方式.各自的权重分别是30%,70%.
比赛结束后,将在5个BBS站开设投票箱,公开选举本次大赛的各个奖项.各个BBS站点的投票拥有相同的权重.
所有参赛作品由裁判团进行公平公正的评比.裁判团共设5个席位,每个BBS推荐一名裁判团成员,并选举产生裁判团主席.
3.2.0 参赛者对提交的作品应当拥有版权.由于参赛者抄袭,剽窃而引起的纠纷,组委会不负任何责任.
3.2.1算法题目,要求编码简洁,有适当的注释和算法说明,有良好的编码风格.
3.2.2应用题目,有一定的实用性,新颖性,有比较完整的相关设计文档.
3.2.3 裁判团将在此基础上制定更详细的评比规则.并于比赛开始后公布.
4.赛程安排
- 4.0 报名注册:3月15日---4月 4日
- 4.1 比赛时间:3月22日---4月18日
- 4.2 作品评选:4月19日---4月30日
- 4.3 结果公布:5月1日
5.奖励
- 5.0 本届大赛没有物质奖励。但会给获奖的网友授予五个BBS站通用的荣誉称号,并发给特别制作的奖状.
- 5.1 分设如下荣誉称号:
首届全国高校BBS联合程序设计大赛 算法项目 冠军,亚军,季军
首届全国高校BBS联合程序设计大赛 应用项目 冠军,亚军,季军
最佳编程风格奖;最短小精悍奖;最佳创意奖;最佳界面奖;
共10个荣誉称号.
6.其它
本章程最终解释权归首届全国高校BBS联合程序设计大赛组委会所有.
首届全国高校BBS程序设计大赛组委会 执笔:imcc@BMY 3/10/2004
附录:赛题样题
样题1:[算法项目]银条问题
一位银矿勘探员无力预付3月份的房租。他有一根长31英寸的纯银条,因此他和女房东达成如下协议。他说,他将把银条切成小段。3月份的第一天,他给女房东1英寸长的一段,然后每天给他增加1英寸以此作为抵押。勘探员预期到3月份的最后一天,他能全数付清租金,而届时女房东将把银条小段全部还给他。
3月份有31天,一种办法是把银条切成31段,每段长1英寸。可是这得花很多的功夫。勘探员希望既履行协议,又能使银条的分段数目尽量减少。例如,他可以第一天给女房东1英寸的一段,第二天再给1英寸的一段,第三天他取回这两段1英寸的而给她3英寸的一段。
假设银条的割断是按照这种方式来回倒换的,看看你能不能回答这样一个问题:勘探员至少需要把他的银条切成多少段?
样题2:[算法项目]新编约瑟夫问题
很久很久以前, 有一位船长带着他的15位亲戚出海旅游, 同船还超载捎带其他的15位乘客. 途中忽遇大风浪, 船就要淹没,必须有一半人跳下大海减轻船的重量,才能使其余人幸免遇难. 但每人愿做牺牲. 有人提议30人围成一圈, 从第一个位置起开始报数,将报9者投入大海, 其余人继续报数, 如此进行下去, 直到剩下15人为止. 但没有人这么傻, 肯站在第9,18,27的位置上, 此法难以实行. 最后大家同意了船长的意见,即船长将30人按某种次序排成一圈, 1至9和1至11报数同时从第一个位置开始进行,将报9者投入大海, 有人报11时, 将最近入海者救起, 插在报11者之后. 刚救起者不参加本论报数. 如某人同时报9和11, 那么该人仍站在原来位置上.
按此方法循环执行之后, 最后留下来的人一看, 全是船长和他的亲戚们.
问:
(1) 船长将他的亲戚安排在那些位置上?
(2) 是否存在这样的好位置, 站在该位置上的人甚至不曾喝过一口海水?
(3) 如修改救人的策略, 将最先入海者救起, 生者喝死者的位置序号又各为几?
(4) 处在什么位置上,不论采用哪种救人策略都能最后生存下来?
实现提示: 每一个结点课包括围桌好,下海标志或下海次数及一个指针域. 在船上围成一圈报数的人可用一个环形链来表示. 如采用救最近入海者方案, "海" 可以用栈数据结构来表示, 如救最先入海者, "海" 可用队列数据结构来表示. 两种救人方案的程序运行可用一个开关变量来控制, 如为0时, 救最近入海者, 为1时救最先入海者.
输出要求: 两种救人方案的输出都要打印船上剩下活着的人和按序打印海里已死的人.要有输出结果的说明行.
样题3:[应用项目]新型计算器
我用Windows附件中的计算器感到不爽,
请大家给我变一个更好的计算器出来
思考的方向:
功能更强大了
界面更可爱
哇,还可以更换皮肤
操作更方便了
还带声音的
很实用的一个加强是:语音输入
以上只是给各位提供了思考的一些方向,
你完全可以按照你的想法,来完成你理想中的计算器!
样题4:[应用项目]网络相关的应用程序
题目自拟,字数不限!