人生恰恰像马拉松赛跑
只有坚持到最后的人
才能称为胜利者
——池田大作
本学期,ACM团体大赛圆满闭幕,
各大豪门战队云集,各路高手横空出世。
对编程有着狂热兴趣的你,有没有参赛呢
首先让我们来看一看
团队与选手们的精彩镜头!
↓↓↓↓↓↓↓↓↓↓↓
团队花样名称秀
说曹操 曹操到
期待“曹操”团队解题的飞速~
一个成盒,一个吃鸡
祝这两个互相竞争的团队
大吉大利,今晚吃鸡!
一如你们的名字
不打酱油,
勇夺佳绩!
是的
没有努力拼搏的曾经,
何来喜悦丰收的现在,
共勉!
选手高光时刻
神情严肃、认真答题
如切如磋、如琢如磨
深思熟虑、明察秋毫
请开始你的表演!
认真答题的小哥哥最帅!
怎么样
屏幕前的你
是否被选手们的比赛精神所感染?
是否也想参加比赛证明自己的能力?
是否想在未来成为Rank 1的大佬?
Come on,
ACM竞赛
了解一下!
↓↓↓↓↓↓
本次大赛的目的
为促进学生综合运用高级语言程序设计、数据结构、算法分析与设计等课程的知识,激励学生之间的交流与合作,促进我校大学生程序设计竞赛活动的开展,为学校培养并选出优秀的ACM人才,并为省赛等选拔种子选手。
比赛排名规则
1.排名方式
比赛实行排名制
正确解答中等数量以上
参赛选手会进行排名
其余参赛选手只发布解题数目
不进行排名
2.用时计算
选手根据解题数目及时间进行排序
每道试题用时
将从竞赛开始到试题解答被判定为正确为止
期间每一次错误的运行将被加罚20分钟时间
未正确解答的试题不及时
对应的错误运行也不计入惩罚时间
3.多人解题数目相同
则根据总用时加上惩罚时间进行排名
ACM题目简例
了解完规则,你是不是对比赛规则所涉及的比赛题目充满了兴趣呢。接下来,小编将选取比赛中的两道例题为大家展示 ~~
题目特点:
①所有题目都由英文介绍。
②一道题目将包含了详细的问题描述以及对选手输入与输出所设置的要求描述。
③输入与输出的范例。
首先,为大家介绍第一道题目
题目介绍:
这是出现在比赛过程中的第一道题目,相比较于其他题目而言难度并不是那么高,因此大部分团队都斩获此题的分数。
问题解析
问题描述:
需要进行一些整数的计算的得到相应的正确结果。
输入要求:
输入多个测试用例。每个测试用例都包含一个整数N,然后N个整数遵循相同的行。从0开始的测试用例将终止输入,这个测试用例将不被处理。
输出要求:
对于每一组输入整数,你应该在一行中输出它们的和,并对输入中的每一行输出一行输出。
输入范例:
4 1 2 3 4
5 1 2 3 4 5
输出范例:
10
15
点明思路:
阅读完题目可以知道,这是一道稍有难度的输入输出型题目,但是并不复杂,只要找到输入数与输出数之间的函数关系,问题便迎刃而解。
标准解答:
#include
int main()
{
int n,sum,i,t;
while(scanf("%d",&n)!=EOF&&n!=0)
{
sum=0;
for(i=0;i
{
scanf("%d",&t);
sum=sum+t;
}
printf("%d\n",sum);
}
}
接下来介绍第二道题目
题目介绍:
这是比赛过程中难度稍高的一道题,但是对有着充足的编程经验的选手来说,只要能够读懂题目,此题分数一样可以收入囊中!
问题解析
问题描述:
大意是介绍了一组名为“自我数字”的数字。
例如,d(75) = 75 + 7 + 5 = 87。给出任何正整数n作为起点,您可以构建无限增序列的整数n,d(n)、d(d(n))、d(d(d(n))),....例如,如果你从33开始,下一个数字是33 + 3 + 3 = 39,下一个是39 + 3 + 9 = 51,下一个是51 + 5 + 1 = 57,所以你生成序列。
33、39、51、57、69、84、96、111、114、120、123、129、141、……
数字n被称为d(n)的生成器。在上面的序列中,33是39的生成器,39是51的生成器,51是生成器57,等等。一些数字有不止一个生成器:例如,101有两个生成器,91和100。一个没有发电机的数字是一个自数。有13个自我数字小于100:1、3、5、7、9、20、31、42、53、64、75、86和97。
编写一个程序输出所有正的自数小于或等于1000000的递增顺序,一个每一行。
输出范例:
1 3 5 7 9 20 31 42 53 64 | |
点明思路:
这一道题目很长,但是只要弄清楚自我数字的组成规则,了解数与数之间的推导关系,那么程序编写就不会那么困难~
标准解答:
using namespace std;
int a[1000005];
void init()
{
for(int i=1;i
{
int k=i;
int sum=i;
int n;
while(k)
{
n=k%10;
sum+=n;
k=k/10;
}
a[sum]=0;
}
}
int main()
{
memset(a,1,sizeof(a));
init();
for(int i=1;i
{
if(a[i])
printf("%d\n",i);
//system("pause");
}
}
ACM于我之益
一道看起来稍显复杂的题目通过你的一步步分析,最后亲手解除是不是让你特别有成就感呐!这就是ACM所能带给我们的快乐,除此之外,ACM更可以带给我们诸多益处!!
01
ACM,让你思维缜密
ACM中,如果不把一个问题细分成最小的组成部分,机器根本做不了任何决策。这与生活之间的关联度可想而知。
ACM,让你重新欣赏技术
02
如果你埋头调试三个小时才能在电脑屏幕上调出“Hello World”,你必将对手机中可实现诸多操作的应用肃然起敬!
03
ACM,让你富有力量
每一次的调试失败,都在为最终的调试通过做着铺垫,这过程将锤炼你的心性,使你充满欣喜面对生活学习中的各项挑战!
ACM,让你更具创意
04
能够吸引你的,是ACM涉及的各种高端大气的算法,掌握它们,犹如十八般武艺齐聚一身,还愁编程解法单一嘛?
通过小编的介绍
你是否对ACM有了全新的认识呢?
是否想要参加下一次激烈的比赛呢?
是否也想要加入并成为ACM的一呢?
来加入我们吧!
本期编辑:Cola
本期审核:小锅巴
第六期第一篇
长按识别
ACM科技协会会员群
等风也等天晴。
我们在ACM科技协会等你!
长按识别
领取专属 10元无门槛券
私享最新 技术干货