有哪些比较好的大学生C语言竞赛编程题或者比较分级的竞赛(本科生和研究生都可以参加)?
网址:/JudgeOnline/
你可以注册一个账号,这个账号会保存你每次提交的正确代码。上面的题很多,范围很广,各种难度的题。当然,也有一些来自其他大学的评委,比如上海交通大学。
2.ACM/ICPC (acm国际大学生程序设计竞赛)是第一个有成绩的竞赛。当然还有全国大学生编程大赛。每年,一些网站和组织也会举办编程比赛。比如百度近几年举办的百度之星编程大赛,也是很有影响力的。给定示例问题的第一个示例是对ACM的详细介绍。样题是我们学校一个节目比赛的初试题,比较简单。(另外,ACM程序大赛也可以用C++编程,本科生和研究生都可以参加。)
3.一些简单的ACM样题(因为是国际比赛,ACM题都是E,下面部分是翻译的)
H-acm规则
描述
ACM/ICPC(ACM international collegiate programming contest)是由ACM(美国计算机协会计算机械协会)组织的一年一度的竞赛,始于1976。是全球大学生计算机编程能力竞赛中最具影响力的赛事,被公认为全球规模最大、规格最高的大学生编程竞赛。是参赛选手展示计算机才华的广阔舞台,是名牌大学计算机教育成果的直接体现,也是信息企业与世界顶尖计算机人才对话的最佳机会。ACM/ICPC通过分组选拔的方式获得了参加世界总决赛的资格。2006年,来自全球超过25个地区的1141所大学的2362支队伍参加了第26届ACM/ICPC赛区比赛。2002年3月,来自世界各地的大约60支队伍和200多名选手参加了在夏威夷举行的决赛。
在ACM/ICPC的比赛中,使用了自动判题系统,不仅减轻了ACM/ICPC比赛组织者的负担,也使比赛更加公平公正。因为在比赛中,比赛成员可以看到自己的排名,使得比赛更加透明。
ACM/ICPC竞赛排名如下:
1:问题最多的队伍排名第一。
2.如果解决问题的团队数量相同,总时间最少的团队排名第一。
注:在比赛过程中,每道试题的时间将从比赛开始直到试题解答被判定正确为止。在此期间,每错一次操作将被罚款20分钟,答对的试题不算。那么解决所有问题所花费的时间和惩罚时间加起来就是:团队所花费的总时间。
现在,您需要编写一个程序来对团队进行排名(假设不超过200个团队)。
投入
多行测试数据,每行包含各队的比赛信息。
各队比赛信息格式如下:
字符串n m表示队伍名称、解题次数和总花费时间(其中:队伍名称为长度不超过30的字符串,解题次数为1…10之间的整数,惩罚时间的范围不超过int的范围)。
当输入end时,意味着输入结束。
输出
根据排名输出各队的比赛信息。
每个竞赛队占一行。
每行的格式是:
字符串n m表示解决队名问题所用的总时间。
示例输入
amstl 3 65
达诺尼奥2 50
卢特丹3 60
结束
示例输出
卢特丹3 60
amstl 3 65
达诺尼奥2 50
我想我需要一个船屋。
描述
弗雷德最近正在考虑在路易斯安那州买一块地来盖房子。在调查土地的过程中,弗雷德发现,由于密西西比河的侵蚀,路易斯安那州的土地每年会减少50平方英里。弗雷德打算在那里度过余生,所以他不希望自己的房子在有生之年被河水侵蚀。现在他需要知道自己是否会被河水侵蚀。
在做了更多的调查后,弗雷德了解到这里的土地是沿着河岸被侵蚀成半圆形的。这个以(0,0)为圆心的半圆被X轴分为上下两部分,X轴下面是河流,上面是河岸。第一年年初,半圆为0,说明河堤没有被侵蚀。(半圆如下图所示)
投入
第一行的正整数n表示需要计算多少组数据。在下面的n行中,每一行包含两个实数X和Y,表示弗雷德所考虑的房子在以(0,0)为原点的坐标系中的位置。y是以英里为单位的非负数。
输出
计算在哪一年弗雷德在X和Y的房子会被河水侵蚀。对应于输入数据,以如下形式输出您的计算结果:“财产n:该财产将在z年开始侵蚀”,其中n是第n组数据,z是您计算的开始侵蚀的年数。最后输出一句“输出结束。”表示计算结束。
示例输入
2
1.0 1.0
25.0 0.0
示例输出
财产1:该财产将在1年开始侵蚀。
财产2:该财产将在第20年开始侵蚀。
输出结束。
暗示
房子的位置不会正好在半圆边界上,无论是室内还是室外。
您提交的程序的计算输出将由系统自动判断。您的结果应该完全符合输出要求,包括字母大小写,标点符号和空格。包括最后一行的语句也应该完全匹配。
所有给出的数据都以英里为单位。
F-N!的计算
描述
n!= N×(N-1)×(N-2)×(N-3)×N....
投入
第一行输入正整数m,表示下面要计算多少个n!
下一行以m个正整数开始(1 ≤ N ≤ 11,m ≤ 9)。
输出
输出这m个正整数的阶乘结果,每行一个。
示例输入
三
1
2
五
示例输出
1
2
120
I-垂直直方图
描述
编写一个程序,从输入文件中读取四行大写(即全部大写字母)文本输入(每行不超过72个字符),并打印一个垂直直方图,显示每个字母(但不包括空格、数字或标点)在全部大写输入中出现的次数。严格按照所示格式设置输出。
投入
*第1行..4:四行大写文本,每行不超过72个字符。
输出
*第1行..:带有星号和空格的几行,后跟一行由空格分隔的大写字母。不要在任何一行的末尾打印不需要的空白。不要打印任何前导空行。
示例输入
那只敏捷的棕色狐狸跳过了那只懒狗。
这是一个测试您的
直方图程序。
你好!
示例输出
*
*
* *
* * * *
* * * *
* * * * * *
* * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
J- white赢了?还是黑的赢?
描述
Cinderalla最近迷上了玩五子棋。但是和其他朋友玩的时候,她总是输,所以她想用电脑来帮助她判断哪一方赢了这场比赛。为了简单起见,我们先去掉一些规则。我们认为只要棋盘的一边有五个相连的棋子,哪一方获胜就确定了。你的任务是写一个程序来判断我们给的游戏哪一方赢。
投入
只有一组输入数据。第一行有两个正整数m,n(5 ≤ m,n ≤ 10),分别代表棋盘的行数和列数。以下2*n+1行是棋盘的描述,由“+”、“-”和“|”组成,其中“*”
输出
只有一组输出数据。如果白棋赢了,就输出白棋赢!,如果黑棋赢了,输出黑棋赢!
示例输入
5 10
+-+-+-+-+-+-+-+-+-+-+
| |*| | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+
| | |*|#| | | | | | |
+-+-+-+-+-+-+-+-+-+-+
| | |#|*|#|#| | | | |
+-+-+-+-+-+-+-+-+-+-+
| | | | |*|#| | | | |
+-+-+-+-+-+-+-+-+-+-+
| | | | | |*| | | | |
+-+-+-+-+-+-+-+-+-+-+
示例输出
白棋赢了!
暗示
给定国际象棋游戏的一方必须赢。