首先你至少要会一门编程语言吧,比如C或C++
先去杭电acm做题,入个门网站:http://acm.hdu.edu.cn/listproblem.php?vol=1
搞清楚了acm编程的一些格式要求(acm编程注意格式要求是很严的,百度下就知道了),会做简单题后,看数据结构,学算法。。。。之后你会懂的。。。
参不参加比赛不重要,搞ACM编程最大的乐趣是:错了很多次修改了很多次的程序,终于被系统accepted的成功感,大一做这个是最好的选择,先不要去学那些面向对象的语言比如java,那些是浮云。。。。