‘壹’ 如果想参加ACM大赛,需要如何自学c语言有没有什么资料推荐一下
如果你之前没学过编程语言的话,建议你使用谭浩强的教材!!这本书新手学起来快点!!
‘贰’ 在读,想搞ACM,目前只会C语言,请问该如何学习
会C语言的话
接下来学习一下基于C语言的《数据结构与算法》
‘叁’ ACM C编程 最好C语言版的
#include<stdio.h>
#include<string.h>
int main()
{
int m,n,i,j;
char s[105][105];
while(scanf("%d%d",&m,&n),m+n)
{
memset(s,0,sizeof(s));
for(i=1;i<=m;i++)
scanf("%s",s[i]+1);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
if(s[i][j]=='.')
{
int x,y,a=0;
for(x=-1;x<=1;x++)
for(y=-1;y<=1;y++)
if(s[i+x][j+y]=='*')
a++;
s[i][j]=a+'0';
}
for(i=1;i<=m;i++)
puts(s[i]+1);
puts("");
}
}
‘肆’ 学了C语言,想参加acm程序设计大赛,请问我该怎么做有什么好的参考书吗
关键是逻辑思维能力强,确实有编程天赋,acm才有希望。
数据结构太简单了吧,我学数据结构的时候感觉大部分算法都是可以顺利成章想出来的,没有必要学习。当然数据结构也是必须要学好的。其中也有很多经典算法。
应该多看看各种算法。学习算法相关的各种内容,动态规划是基础吧。
‘伍’ 为参加ACM学C语言,应该怎么学啊
额。。你还没有学过C就要参加ACM啦?没事,慢慢来~
俺大学期间参加过acm,只拿过一个铜牌。就谈谈我的经验吧~
学编程语言,无非看书+实践。
学习c语言,国内入门的就是谭浩强的书绿皮书啦~好好学学。如果对国内的书无好感,可以看看c primer plus。如果要学的更全面,就一定要看Brian W.Kernighan和Dennis M.Ritchie写的C程序设计语言。
以上是语言部分。但是要玩ACM,这还远远不够。
大学期间计算机专业都会学数据结构和算法设计两门课程,这些课程至关重要。所以,如果你要精进自己的算法能力,这两门必须学好。同样推荐几本书,国内的严蔚敏的数据结构和王晓东的计算机算法设计与分析。国外的Mark Allen Weiss的数据结构与算法分析:C语言描述和着名的MIT的算法导论。注意,老外的书更全面复杂,无论是初学阶段,还是后来的能力提升,都会有帮助!入门的话还是国内的啦~
以上内容学好只是表明你的理论基础过关。更重要的就是编码能力了。ACM是理论和实践的结合。在实际编程中会有很多小技巧和规律,这个就要靠你自己摸索了。当然,针对具体的acm比赛方面的书,无论是ACM规则,编码调试技巧还是算法理论,国内也有不少好的,比如刘汝佳的书就非常值得一看。推荐刘汝佳的黑书《算法艺术与信息学竞赛 》(后期看)和他的《算法艺术与信息学竞赛•算法竞赛入门经典》(前期可看)
此外,一定要多多练习,各大OJ,包括ZOJ,POJ等等,都是练习的去处。一定要勤刷题啊~不懂就问,上网多搜索,几乎所有的题目都会有人给出解答的~
最后,参加ACM是件很苦的事情。除了训练,到后期,你得学会合作,毕竟ACM是三人组队参加。要找到自己擅长的领域,一个人很少可能是ACM全能王,你是擅长搜索,还是动态规划,自己要非常清楚。另外,数学理论也要加强!具体数学,离散数学,组合数学,根据你在队伍中角色和职能的定位有目的的精进自己的数学理论~
以上说的顺序不并不是固定的。比如学完c语言后就可在OJ上刷刷水题了~之后可以一边学算法,一边学数据结构,一边上OJ做题啦~
说了这么多,最后说一句,欢迎加入ACM!
‘陆’ acm编程求解用c语言
虽然我现在对ACM那种有点钻牛角尖的题目不是很感冒,但是还是得说……这种题目编出来,不是给你上网络来问的。
同学之间可以讨论、可以找出题人、老师、前辈请教。
跑来网络知道问这种题目……我不清楚这是你好学的证明呢,还是跟网络知道感情深厚的证明。
‘柒’ 大一在读,想搞ACM,目前只会C语言,请问该如何学习
只会C语言的话 算法上可能会有所欠缺
你可以先找一本数据结构的书看
或者 找一个acm平台,从简单的开始做,遇到不会的再查资料,一边练一边学编程思想 算法 数据结构
前一个更系统 后一个娱乐性质更高。
‘捌’ 为参加ACM学C语言,应该怎么学啊
我们学校的本科和专科,都是有的,
为了以后找工作更加方便,你可以选择一些比较热门的专业,例如电商、网络编程、电商财会、ui设计等等,发展前景大,能够进入的工作单位都比较容易找。其实这些计算机相关专业,学习起来还是比较容易的,上课好好听老师的思路,根据老师的指导走流程,祝你学到真本事
‘玖’ 参加acm需要学什么
其实acmer们都是自己训练的啊,这种东西只能自己学哈~先从基本的开始吧,把c/c++练熟了,java要掌握一些。然后就是算法上的东西了。算法的学习是比较痛苦的,书建议看算法导论,算法艺术与信息学竞赛,具体数学,柔性字符串匹配,然后是去各大oj上训练做题,推荐poj,zoj,hdoj,还有各种比赛。下面是详细的训练方法~
训练方法。现在这个赛季基本就算结束了,所以可以从自身能力开始提升,先把算法掌握的全面一些。模拟,数学,计算几何,图论,数据结构,动态规划,搜索,字符串匹配,贪心,这些知识都要进行学习。如果来不及的话,尽量保证,每一块知识都能有两个人覆盖到,这样三人组队,可以保证稳定发挥。个人训练可以自己做题,按各个知识点来。也可以穿插着去做做比赛,topcoder的srm和codeforces都很不错,还有zoj的月赛。这都是平时练习的好机会。
比赛前一两个月,要进行队伍磨合。组队做一些比赛,可以去hust的oj上自己挂比赛。注意分配几时,然后读题要仔细,分题的时候要清醒,千万别觉得这个题可做,就直接搞,一定要和队友商量。卡题的时候,切记不要冲动,乱交会导致罚时飙升啊,那样很痛苦的。
然后热身赛记得测一下longlong类型的输出是用lld还是I64d,然后放平心态就可以了~
‘拾’ 在ACM中,C语言与C++的优劣
C++和C语言各有所长。做小题目(比如ACM)这样都,用那个都无所谓,可能C会快一些。但是如果做大型都工程项目,那C++和面向对象设计方面会占优势(当然了,C语言也可以面向对象,只是实现起来没有C++那么直接)。另外,如果用C++的话,一定要学会用STL和泛型编程,要不真不如用C语言算了。