ACM竞赛简介和入门
- 格式:doc
- 大小:1.27 MB
- 文档页数:11
ACM 国际大学生程序设计竞赛(ICPC) 规则ACM 国际大学生程序设计竞赛(ICPC) 规则ACM 国际大学生程序设计竞赛(ICPC) 是全球最具影响力的大学生程序设计竞赛之一。
本文将简要介绍ACM ICPC的参赛规则和相关信息。
一、ACM ICPC 简介ACM ICPC 是一项面向大学生的年度性程序设计竞赛,始于1977年。
该竞赛的目标是鼓励大学生在编写和分析算法的过程中开拓思路,提高编程和解决问题的能力,培养团队协作精神。
二、参赛队伍1. 队伍组成每支参赛队伍由3名学生组成,其中最多可包括一名备用队员。
队员必须是在所属学校就读的全日制本科生。
2. 参赛资格参赛队员必须符合以下资格要求:- 未获得任何学位(包括本科学位);- 没有参加过之前的ACM ICPC 总决赛;- 通过所在学校的选拔赛和省级赛事等层层选拔。
三、竞赛环节1. 在线初赛ICPC竞赛的第一轮是在线初赛,根据不同地区的参赛队伍数量划分为多个赛区进行。
在指定时间内,队员需通过网络完成多个编程题目的解答。
2. 区域赛在线初赛的前若干名队伍将晋级到区域赛。
区域赛采用现场方式进行,由3个小时的算法设计和编程任务组成。
3. 总决赛区域赛的前若干名队伍将有资格参加ACM ICPC 的总决赛,争夺世界冠军。
总决赛通常由多场比赛组成,包括代码编写、程序设计和问题解答等环节。
四、竞赛规则1. 语言限定ICPC允许使用多种编程语言,包括但不限于C++、Java和Python。
参赛队伍需在规定的环境中编写代码并进行提交。
2. 时间限制每个竞赛环节都有严格的时间限制。
队伍必须在规定的时间内提交答案,否则无法计入成绩。
3. 题目难度竞赛题目按照难度分级,分为简单、中等和困难等级。
队伍需在规定时间内解决尽可能多的题目,并获得尽可能高的分数。
4. 团队合作ICPC强调团队合作,鼓励队员之间相互协作、交流和分享解题思路。
参赛队伍需充分发挥团队优势,高效配合,完成各项任务。
ACM国际大学生程序设计大赛相关知识ACM国际大学生程序设计竞赛ACM国际大学生程序设计竞赛(英文全称:ACM International Collegiate Programming Contest(ACM-ICPC或ICPC)是由美国计算机协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。
经过近30多年的发展,ACM国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛。
赛事目前由IBM公司赞助。
历史竞赛的历史可以上溯到1970年,当时在美国得克萨斯A&M大学举办了首届比赛。
当时的主办方是the Alpha Chapter of the UPE Computer Science Honor Society。
作为一种全新的发现和培养计算机科学顶尖学生的方式,竞赛很快得到美国和加拿大各大学的积极响应。
1977年,在ACM计算机科学会议期间举办了首次总决赛,并演变成为目前的一年一届的多国参与的国际性比赛。
迄今已经举办了29届。
最初几届比赛的参赛队伍主要来自美国和加拿大,后来逐渐发展成为一项世界范围内的竞赛。
特别是自1997年IBM开始赞助赛事之后,赛事规模增长迅速。
1997年,总共有来自560所大学的840支队伍参加比赛。
而到了2004年,这一数字迅速增加到840所大学的4109支队伍并以每年10-20%的速度在增长。
1980年代,ACM将竞赛的总部设在位于美国得克萨斯州的贝勒大学。
在赛事的早期,冠军多为美国和加拿大的大学获得。
而进入1990年代后期以来,俄罗斯和其它一些东欧国家的大学连夺数次冠军。
来自中国大陆的上海交通大学代表队则在2002年美国夏威夷的第26届和2005年上海的第29届全球总决赛上两夺冠军。
这也是目前为止亚洲大学在该竞赛上取得的最好成绩。
赛事的竞争格局已经由最初的北美大学一枝独秀演变成目前的亚欧对抗的局面。
ACM培训资料目录第一篇入门篇 (3)第1章新手入门 (5)1ACM国际大学生程序设计竞赛简介 (5)2ACM竞赛需要的知识 (8)3团队配合 (14)4练习、练习、再练习 (15)5对新手的一些建议 (16)第2章C++语言介绍 (22)1C++简介 (22)2变量 (23)3C++数据类型 (25)4C++操作符 (30)5数组 (35)6字符数组 (38)7字串操作函数 (41)8过程控制 (45)9C++中的函数 (54)10函数规则 (59)第3章STL简介 (61)1泛型程序设计 (61)2STL 的组成 (67)第二篇算法篇 (102)第1章基本算法 (103)1算法初步 (103)2分治算法 (115)3搜索算法 (124)4贪婪算法 (135)第2章进阶算法 (165)1数论基础 (165)2图论算法 (180)3计算几何基础 (222)第三篇实践篇 (246)第1章《多边形》 (247)第2章《灌溉问题》 (255)第3章《L GAME》 (263)第4章《NUMBER》解题报告 (271)第5章《J OBS》解题报告 (275)第6章《包裹运送》 (283)第7章《桶的摆放》 (290)第一篇入门篇练就坚实的基础,总有一天……我们可以草木皆兵!第1章新手入门1ACM国际大学生程序设计竞赛简介1.1背景与历史1970年在美国TexasA&M大学举办了首次区域竞赛,从而拉开了国际大学生程序设计竞赛的序幕。
1977年,该项竞赛被分为两个级别,即区域赛和总决赛,这便是现代ACM竞赛的开始。
在亚洲、美国、欧洲、太平洋地区均设有区域赛点。
1995至1996年,来自世界各地的一千多支高校的代表队参加了ACM区域竞赛。
ACM 大学生程序设计竞赛由美国计算机协会(ACM)举办,旨在向全世界的大学生提供一个展示和锻炼其解决问题和运用计算机能力的机会,现已成为全世界范围内历史最悠久、规模最大的大学生程序设计竞赛。
ACM/ICPC简介ACM/ICPC(ACM International Collegiate Programming Contest, 国际大学生程序设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织ACM(Association for ComputingMachinery,国际计算机协会)主办的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛。
Why to be an ACMer?不功利地说:1. 大学生程序设计的世界级顶级赛事,不参加终身抱憾。
2. 提升思维与实践动手能力,做名副其实的Trouble-shooter。
3. 起点低,有C/C++、JAVA等语言基础知识和一台计算机即可参与学习;周期长,乐趣多,学生互相探讨,有助于营造良好的学术氛围。
功利地说:1. 业界知名的IT公司不约而同地认为有ACM参赛经历的学生(无论有无获奖),优先雇佣。
2. 计算机科学研究生复试上机有相关试题。
3. 赛事多,奖金高,含金量高,可以获得许多荣誉。
如:Google杯、阿里巴巴杯ACM的区域性竞赛;百度之星;各种赛区的选拔赛。
参赛参考资料和网站算法竞赛入门经典UVa OJ, POJ, ZOJ, HOJ, HDOJ 等在线测评系统某北京高校参加程序设计类比赛的年度安排●4月:校内大赛(暨选拔赛)如:阿里巴巴集团杯ACM-ICPC程序设计精英赛●5~7月:百度之星程序设计大赛●暑期:夏令营集中培训●11月:参加ACM/ICPC亚洲区比赛(至少参加4~5个赛区的比赛)●另外:每学期至少有三次月赛以及适当的练习赛2010ACM-ICPC亚洲区预选赛中国大陆5赛区比赛安排2010-09-11哈尔滨赛区(哈尔滨工程大学)网络预赛(哈工程oj:)赛区官网:/icpc/2010-09-12天津赛区(天津大学)网络预赛(杭电oj:)赛区官网:/tj2010/2010-09-18成都赛区(四川大学)网络预赛(川大oj:http://125.64.92.19/)赛区官网:/icpc/2010-09-19杭州赛区(浙江理工大学)网络预赛(杭电oj:)赛区官网:/2010-10-10 福州赛区(福州大学)网络预赛(福大oj:)赛区官网:/acmicpc-2010-fuzhou/Default.aspx2010年9月25-26日哈尔滨赛区现场比赛(哈工程命题)2010年10月16日到17日天津赛区现场比赛(复旦命题)2010年10月23日到24日杭州赛区现场比赛(北大命题)2010年11月6日到7日成都赛区现场比赛(浙大命题)2010年11月19日到21日福州赛区现场比赛(北大命题)一个人网络预赛最多官网注册3次(同一年度)报名方式登录https:///教师注册教练账号,创建队伍参加相应赛区的比赛今年的比赛(36届)尚未开启注册选手注册选手账号,加入教练成立的队伍即可竞赛简要规则参赛队组成ACM-ICPC以团队的形式代表各学校参赛,参赛队可以来自亚洲任何的国家和地区的高校, 每个赛区的优胜队伍将获得参加ACM国际大学生程序设计竞赛全球总决赛资格。
acm竞赛流程范文ACM竞赛是国际大学生程序设计竞赛(International Collegiate Programming Contest)的简称,是世界上最著名的大学生程序设计竞赛之一、ACM竞赛流程分为报名,选拔赛、区域赛、世界总决赛这几个阶段。
下面将详细介绍ACM竞赛的流程。
首先是报名阶段。
每年的报名时间一般在9月,学生通过学校报名参加ACM竞赛,每支队伍由3名队员组成,一般需要有1名教练指导。
报名成功后,每支队伍会获得一个注册账号,在竞赛官网上进行后续报名操作。
接下来是选拔赛阶段。
选拔赛一般于10月初进行,是一个网络在线的个人赛。
比赛时间为3个小时,每支队伍需要解决8到12道题目,题目类型包括数据结构、算法、图论等。
选择题目的难度适中,被称为经典问题。
每道题的分值不一样,并且提交的代码会经过系统评测。
选拔赛的目的是筛选出最优秀的队伍进入区域赛。
然后是区域赛阶段。
区域赛一般在11月至12月举行,全国各个省市都会设有一个区域赛的赛点。
区域赛的时间一般是2天,每天有5个小时的比赛时间。
比赛模式与选拔赛相同,每支队伍需要解决8到12道题目,题目的难度和考点会更加多样化且更具挑战性。
区域赛结束后,会根据队伍的排名产生晋级进入世界总决赛的队伍。
最后是世界总决赛阶段。
世界总决赛一般在次年的3月至4月举行,是ACM竞赛的最高级别赛事,也是最具挑战性的阶段。
来自世界各地的顶尖大学队伍齐聚一堂,通过网络进行同步比赛。
每支队伍需要解决10到15道题目,时间为5个小时。
题目的难度非常高,很多题目会需要队伍合理分工、高效协作才能解决。
总决赛结束后,会根据队伍的最终排名发布结果。
在整个ACM竞赛的流程中,除了比赛本身,还有许多其他的训练和准备工作。
队伍需要进行系统学习和训练,学习各种经典算法和数据结构,参与相关的讲座和训练课程。
此外,队伍还需要进行平时的代码训练,通过刷题来提高自己的编程能力和算法思维。
总之,ACM竞赛是一项全球学生程序设计竞赛,经过报名、选拔赛、区域赛和世界总决赛四个阶段的选拔,最终决出最顶尖的队伍。
ACM竞赛知识点简介ACM竞赛是指由国际大学生程序设计竞赛(ACM-ICPC)组织的一系列编程比赛。
ACM竞赛旨在培养学生的计算机科学和编程能力,提高解决实际问题的能力和团队合作精神。
本文将介绍ACM竞赛的基本知识点和技巧,帮助读者更好地了解和参与这一竞赛。
知识点1. 数据结构在ACM竞赛中,数据结构是解决问题的关键。
以下是一些常用的数据结构:•数组:用于存储一组相同类型的数据。
•链表:用于存储和操作具有相同数据类型的元素。
•栈:一种后进先出(LIFO)的数据结构。
•队列:一种先进先出(FIFO)的数据结构。
•树:一种非线性的数据结构,由节点和边组成。
•图:一种由节点和边组成的数据结构,用于表示各种关系。
2. 算法ACM竞赛中常用的算法包括:•排序算法:如快速排序、归并排序、堆排序等,用于将数据按照一定的规则进行排序。
•查找算法:如二分查找、哈希表等,用于在数据中查找指定的元素。
•图算法:如深度优先搜索(DFS)、广度优先搜索(BFS)、最短路径算法等,用于解决图相关的问题。
•动态规划:一种将复杂问题分解为简单子问题的方法,用于解决多阶段决策问题。
•贪心算法:一种每一步都选择当前最优解的方法,用于解决优化问题。
3. 数学数学在ACM竞赛中扮演着重要的角色。
以下是一些常用的数学知识点:•组合数学:包括排列组合、二项式定理、卡特兰数等,用于计算对象的排列和组合方式。
•数论:包括素数、最大公约数、最小公倍数等,用于解决与整数相关的问题。
•概率与统计:包括概率分布、统计推断等,用于分析和预测事件发生的概率。
•矩阵与线性代数:用于解决与矩阵和线性方程组相关的问题。
4. 字符串处理在ACM竞赛中,字符串处理是常见的问题之一。
以下是一些常用的字符串处理技巧:•字符串匹配:如KMP算法、Boyer-Moore算法等,用于在一个字符串中查找另一个字符串。
•字符串排序:如字典序排序、后缀数组等,用于对字符串进行排序。
ACM/ICPC入门首先,我很高兴看到这届的学弟学妹们能有兴趣来关注我们学校的ACM/ICPC竞赛项目,那什么是ACM/ICPC呢?下面我就做个简单的介绍吧~ACM国际大学生程序设计竞赛(英文全称:ACM International Collegiate Programming Contest(ACM-ICPC或ICPC))是由美国计算机协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。
经过近30多年的发展,ACM国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛。
赛事目前由IBM公司赞助。
比赛期间,每队使用1台电脑需要在5个小时内使用C、C++或Java中的一种语言编写程序解决7到10个问题。
简单点说就是当今世界含金量最高的大学生编程竞赛。
可能很多同学现在刚刚学C++没几天,感觉编程是个很难的一件事,实际上练熟了的话也不是很难的~而参加ACM正是一个帮助你锻炼编程能力的很好的机会,毕竟如果大家毕业以后想从事IT行业的话,没有扎实的编程功底,显然是……那如何入门呢~在这我介绍国内一个很好的OJ网站,很适合初级和中级水平的ACM选手来练习,杭州电子科技大学的OJ网址——/所谓OJ就是Online Judge在线判断的意思,让你通过网络把你做的编程题的源码提交上去,让OJ的服务器判断你的代码是否正确。
这个是杭电OJ主界面的截图~右上方有个登陆和注册窗:点击Register new ID即可,然后会进入一个注册界面:把打星号的选项填完后,点下方的Submit就好了~ 那怎么去做题呢?主界面有个Problem Archive,点击进入后,就能看到上方的Volume代表你所选的是第几卷题目,每卷有一百道题,那么我们先来看看第1000题吧,这个是最简单的一个ACM题了~题目大意是输入两个数A和B,要求输出A + B的值,这个基本上上过C++课的都应该能写出代码来,但要注意的是,在OJ系统里,对代码是有要求的。
acm竞赛知识点【最新版】目录1.ACM 竞赛简介2.ACM 竞赛的竞赛项目3.ACM 竞赛的竞赛知识点4.ACM 竞赛的竞赛技巧和策略5.总结正文ACM 竞赛,全称 ACM 国际大学生程序设计竞赛,是由美国计算机学会(Association for Computing Machinery,简称 ACM)主办的一项全球性计算机程序设计竞赛。
该竞赛旨在发现和培养优秀的计算机程序设计人才,促进计算机科学和技术的发展。
ACM 竞赛的竞赛项目主要包括:算法设计与分析、数据结构、计算机网络、数据库、操作系统、编译原理、软件工程等。
这些项目涵盖了计算机科学的各个领域,对参赛选手的综合素质和专业技能有着极高的要求。
在 ACM 竞赛中,选手需要掌握丰富的竞赛知识点。
例如,算法设计与分析是 ACM 竞赛的核心内容,选手需要熟练掌握各种算法设计方法和分析技巧,以便在比赛中迅速找到解决问题的思路。
此外,数据结构也是ACM 竞赛的重要内容,选手需要熟练掌握常见的数据结构(如链表、栈、队列、树、图等)及其操作,以便在比赛中快速实现各种算法。
除了上述知识点外,ACM 竞赛还需要选手具备良好的编程实现能力。
选手需要熟练掌握至少一门编程语言,并能够在短时间内编写出高效、简洁的代码。
同时,选手还需要具备较强的团队协作能力,因为在比赛中,团队成员之间需要保持良好的沟通和协作,共同解决问题。
在 ACM 竞赛中,除了扎实的专业知识和技能外,还需要掌握一定的竞赛技巧和策略。
例如,在比赛中,选手需要学会如何合理分配时间,以便在有限的时间内完成尽可能多的题目。
此外,选手还需要学会如何快速定位问题,并在短时间内找到解决问题的思路。
总之,ACM 竞赛是一项对参赛选手综合素质和专业技能要求较高的竞赛。
要想在比赛中取得好成绩,选手需要扎实的专业知识、良好的编程实现能力、团队协作能力以及灵活的竞赛策略。
acm程序设计竞赛课程ACM程序设计竞赛课程ACM(Association for Computing Machinery)程序设计竞赛是一项旨在培养计算机科学和编程能力的竞赛活动。
作为计算机科学领域的顶级比赛之一,ACM程序设计竞赛在全球范围内享有盛名。
ACM程序设计竞赛课程旨在为学生提供参加ACM竞赛所需的技能和知识。
这门课程涵盖了算法、数据结构、编程语言等方面的内容,帮助学生提高编程能力和解决问题的能力。
第一部分:算法与数据结构在ACM程序设计竞赛中,算法和数据结构是最重要的基础知识。
这门课程将教授学生各种常用的算法和数据结构,如排序算法、查找算法、图算法、树算法等。
学生将学会如何分析和设计算法,以解决实际问题。
第二部分:编程语言ACM程序设计竞赛允许使用多种编程语言进行编程,包括C++、Java、Python等。
课程将介绍这些编程语言的基本语法和特性,并帮助学生熟练运用其中的一种语言解决问题。
学生将学会如何编写高效、可读性强的代码。
第三部分:问题解决能力ACM程序设计竞赛强调解决实际问题的能力。
课程将引导学生了解不同类型的问题,如图论问题、动态规划问题、网络流问题等,并教授相应的解决方法。
学生将通过练习和实践,提高自己的问题解决能力。
第四部分:团队合作与竞赛技巧ACM程序设计竞赛是一个团队比赛,要求队员之间能够良好地合作。
课程将培养学生的团队合作能力,并教授竞赛中的一些技巧和策略。
学生将学会如何分工合作、高效沟通,并在竞赛中发挥自己的优势。
第五部分:实践训练除了理论知识的学习,课程还将提供大量的实践训练机会。
学生将参与模拟竞赛和真实竞赛,解决各种难度的问题。
通过实践训练,学生将巩固所学知识,并提升自己的编程能力和竞赛技巧。
通过ACM程序设计竞赛课程的学习,学生将获得以下几方面的收益:1.提高编程能力:学生将掌握各种算法和数据结构,并学会将其运用到实际问题中,提高自己的编程能力。
2.培养解决问题的能力:课程将训练学生的问题解决思维,使其能够快速、准确地找到问题的解决方法。
ACM竞赛简介:
ACM国际大学生程序设计竞赛是由国际计算机界历史悠久、颇具权威性的组织ACM学会(美国计算机协会)主办,是世界上公认的规模最大、水平最高的国际大学生程序设计竞赛,其目的旨在使大学生运用计算机来充分展示自已分析问题和解决问题的能力。
(网上有更详细的介绍,这里只做个简介)
ACM竞赛特点:
竞赛中一般有10道题,比赛时间为5个小时,每支参赛队伍由3名选手组成,可以携带诸如书、手册、程序清单等参考资料,对每一道题编完代码后,将代码提交裁判,每一次提交会被判为正确或者错误,判决结果会及时通知参赛队伍。
在规定时间内提交并通过题目数越多排名越靠前。
(时间5小时,题目8~12题,同题目数按所用时间多少排名)
ACM题目限制:
●时间限制(即程序运行所用的时间)
●空间限制(即程序运行时所开内存的多少)
ACM基本要求
⏹英语
⏹分析理解能力
⏹算法
⏹编码
⏹合作
ACM竞赛意义
学习编程,并不是为了参加竞赛,ACM竞赛对于我们的意义更多的还是专业能力的提高。
在备战过程中,无论是对自己的编程能力,还是团队合作解决问题的能力,都是一种很好的锻炼机会。
一般而言,每个在做ACM竞赛的学生,他们的编程能力会比较出色。
与数学建模相比,由于ACM 竞赛针对的是我们学计算机的同学,所以没有数学建模的比赛规模,但是依旧是国际上
最有影响力的大学生竞赛之一。
ACM竞赛入门
现在有很多大学有专门为ACM 竞赛开设自己的测评网站,上面有很多贴近竞赛的题目。
比如说北大poj,浙大zoj等等。
所以选择一个自己专门练习的网站,开始自己在上面做题,和同学交流经验。
等到回到本部,要是有了一定的实力和基础。
⏹在poj上做20左右道简单的题目,熟悉
ACM题目的基本特点。
(这里列出几道
相对较简单的题目的题号:1000,1003,1004,1046,1207,1226,1504,1552)⏹熟悉了poj之后,按照poj的题目分类,
买一本或借一本算法的书(暨大ACM
校队的基本都用机械工程出版社的《算
法导论》)开始学习,然后做算法的专题,一般每个专题做10~30道。
主流的算法
分类为:
1.搜索//回溯
2.DP(动态规划)
3.贪心
4.图论//Dijkstra、最小生成树、网络
流
5.数论//解模线性方程
6.计算几何//凸壳、同等安置矩形的并
的面积与周长
7.组合数学//Polya定理
8.模拟
9.数据结构//并查集、堆
10.博弈论
⏹专题做完后,你已经很强了,就可以找
另外2个同学或师兄组成自己的队伍,开始做poj上的难题,开始模拟比赛,为今后的竞赛做准备。
如何在北大测评poj网站上开始做题:
⏹上网站:
/JudgeOnline/
⏹注册新账号:
点击Register注册。
⏹登陆
⏹选择题目-> 读题-> 分析-> 设计
⏹在自己的VC++上编码-> 调试
⏹提交题目
点击Submit 可进入提交页面。
⏹查看系统返回的提交状况。
下面是两道例子:
1. poj1000(入门题)
A+B Problem
Time Limit: 1000MS Memory Limit:
10000K
Total Submissions: 171686 Accepted:
92373
Description (问题描述)
Calculate a+b
Input (输入)
Two integer a,b (0<=a,b<=10)
Output (输出)
Output a+b
Sample Input (输入例子)
1 2
Sample Output (输出例子)
3
代码:(160K 0MS):
#include<stdio.h>
void main(){
int a,b;
scanf("%d %d", &a, &b);
printf("%d",(a+b));
}
2. poj1154(用到算法:搜索)
LETTERS
Time Limit: 1000MS Memory Limit:
10000K
Total Submissions: 3393 Accepted: 1636
(英文略去,这里解释成中文)
题意:给出一个roe*col的大写字母矩阵,如:
HFDFFB
AJHGDH
DGAGEH
你一开始的位置为左上角(即’H’处),每一
步你可以向上下左右四个方向移动一格,并且不能移向曾经经过的字母。
请输出最多可以经过几个字母。
例子的解为6个,其中一条路径为HFJADG…
代码:(212K 32MS)
#include<iostream>
using namespace std;
const int Max = 30;
int row, col, ans = 0;
char map[Max][Max];
bool vis[Max];
int dr[4] = {-1, 0, 0, 1};
int dc[4] = {0, -1, 1, 0};
bool inmap(int r, int c){
if(r >= 1 && r <= row && c >= 1 && c <= col)
return true;
return false;
}
void dfs(int dep, int now_r, int now_c){ if(dep > ans) ans = dep;
for(int i = 0; i < 4; i ++){
int r = now_r + dr[i];
int c = now_c + dc[i];
if(inmap(r, c) && !vis[map[r][c] - 'A']){
vis[map[r][c] - 'A'] = true;
dfs(dep + 1, r, c);
vis[map[r][c] - 'A'] = false;
}
}
}
int main(){
cin >> row >> col;
for(int i = 1; i <= row; i ++)
for(int j = 1; j <= col; j ++)
cin >> map[i][j];
memset(vis, false, sizeof(vis)); vis[map[1][1] - 'A'] = true;
dfs(1, 1, 1);
cout << ans << endl;
return 0;
}
写在最后:
学习计算机,编程是王道,如果你对编程或者ACM感兴趣,在poj上做了些题之后觉得有兴趣做下去;或者对ACM 竞赛的存在某些疑问的话,可以加入我们的交流群:108350786 (09暨大ACM交流群),里面有暨大本部ACM队的师兄,其中悦海师兄是全国中学生信息竞赛一等奖,被保送到暨南大学的。
有什么问题的话可在群内讨论,一起努力,谢谢…。