ACM 入门进阶 程序设计语言是学习数据结构的一个重要组成部分,任何算法只有通过程序设计语言实现之后才能真正解决问题
C++语言凭借其高度的灵活性和强大的功能在大学生竞赛中被非常广泛地使用,在中学生竞赛中的使用也越来越广泛
本文旨在给初学者一个窗口,通过例题了解什么是 ACM,希望能够对刚入门的读者有所帮助(题目是英文的,不用担心,很简单得英文,不懂可以查金山词霸~~) ACM 一般要求在一定的时间内,理解并分析题意,设计符合给定时间和空间复杂度要求的算法,并在计算机上使用一定的程序设计语言正确地实现算法
由于整个竞赛存在时间限制(特别是 ACM/ICPC 类竞赛,在解决问题数目相等的情况下以做题累计时间的多少来决定名次),因此所使用的程序设计语言能否正确、快速地实现算法对竞赛的成绩影响颇大
一般信息学竞赛比较常用的程序设计语言有以下几种:BASIC、Pascal、C/C++、Java,它们的特点如下表所示: BASIC Pascal C++ Java 学习难度 容易 一般 较难 较难 语言特点 简单 严谨 灵活 高度面向对象 程序运行速度 慢 较快 快 慢 库函数功能 弱 一般 很强 强 在目前的 ACM 竞赛中,C++和 C 语言使用较为广泛
但是 C++语言凭借其本身所具有的高度的灵活性,以及它所带的库的强大功能,被越来越多的选手所使用
本文几乎所有内容都是例子,详细的见一些相关的参考书
一 C++基础知识 1
1 "Hello, w orld
" C++对于大小写是敏感的
首先,让我们通过一个非常简单的C++程序,来初步地了解C++语言
#include u sing namespace std;// 注意如果不使用
h 将要增加本行 int main() { cout