计算机算法与设计论文

合集下载

程序设计与算法分析结课论文

程序设计与算法分析结课论文

程序设计与算法分析结课论文在当今数字化的时代,程序设计与算法分析已经成为计算机科学领域的核心组成部分。

从智能手机中的各种应用程序,到互联网上的搜索引擎和电子商务平台,再到科学研究中的模拟和数据分析,程序设计和算法的身影无处不在。

它们不仅影响着我们的日常生活,还推动着科技的不断进步和社会的发展。

程序设计,简单来说,就是告诉计算机要做什么以及如何去做。

它涉及到使用特定的编程语言来编写指令,让计算机按照我们的意愿执行任务。

一个好的程序设计应该具有清晰的逻辑结构、易于理解和维护的代码,以及高效的性能。

而要实现这些目标,就需要对编程语言的语法、数据结构和控制结构有深入的理解。

以常见的编程语言如 Python 为例,它提供了丰富的数据类型,如整数、浮点数、字符串、列表、字典等,以及各种控制结构,如条件语句(ifelse)、循环语句(for、while)等。

通过合理地运用这些元素,我们可以编写出解决各种问题的程序。

比如,要编写一个程序计算两个数的平均值,我们可以使用以下的 Python 代码:```pythonnum1 = 5num2 = 10average =(num1 + num2) / 2print("平均值为:", average)```这只是一个简单的例子,但它展示了程序设计的基本思路:明确问题、选择合适的数据结构和算法、编写代码并进行测试。

算法分析则是对程序所使用的算法的性能进行评估和优化。

一个算法的性能通常用时间复杂度和空间复杂度来衡量。

时间复杂度表示算法运行所需的时间与输入规模之间的关系,而空间复杂度表示算法运行所需的存储空间与输入规模之间的关系。

例如,对于一个排序算法,我们可以比较冒泡排序、插入排序和快速排序的时间复杂度。

冒泡排序的时间复杂度为 O(n^2),插入排序的时间复杂度也为 O(n^2),而快速排序的平均时间复杂度为 O(nlogn)。

在处理大规模数据时,快速排序的性能通常要优于冒泡排序和插入排序。

算法设计与分析基础论文

算法设计与分析基础论文

算法设计与分析论文回溯法回溯法有“通用的解题法”之称。

应用回溯法解问题时,首先应该明确问题的解空间。

一个复杂问题的解决往往由多部分构成,即,一个大的解决方案可以看作是由若干个小的决策组成。

很多时候它们构成一个决策序列。

解决一个问题的所有可能的决策序列构成该问题的解空间。

解空间中满足约束条件的决策序列称为可行解。

一般说来,解任何问题都有一个目标,在约束条件下使目标达到最优的可行解称为该问题的最优解。

回溯法概述回溯法可以系统的搜索一个问题的所有解或任一个解它在包含问题的所有解的解空间树中,按照深度优先的策略,从根结点出发搜索解空间树。

算法搜索到某一结点时,如果断定该结点肯定不包含问题的解,则跳过以该结点为根的子树的搜索,逐层向其祖先结点回溯这种以深度优先方式搜索问题的解的方法称为回溯法回溯算法的形式描述假设回溯算法要找出所有的答案结点而不是仅仅只找出一个。

①设(x1,x2,…,xi-1)是状态空间树中由根到一个结点(问题状态)的路径。

②T(x1,x2,…,xi-1)是下述所有结点的xi的集合,它使得对于每一个xi, (x1,x2,…,xi)是一条由根到结点xi的路径③存在一些限界函数Bi (可以表示成一些谓词),如果路径(x1,x2,…,xi)不可能延伸到一个答案结点,则Bi (x1,x2,…,xi)取假值,否则取真值。

因此,解向量X(1:n)中的第i个分量就是那些选自集合T(x1,x2,…,xi-1)且使Bi为真的xi。

回溯法思想第一步:为问题定义一个状态空间(state space),这个空间必须至少包含问题的一个解第二步:组织状态空间以便它能被容易地搜索。

典型的组织方法是图或树第三步:按深度优先的方法从开始结点进行搜索–开始结点是一个活结点(也是E-结点:expansion node)–如果能从当前的E-结点移动到一个新结点,那么这个新结点将变成一个活结点和新的E-结点,旧的E-结点仍是一个活结点。

算法设计与分析课程论文五篇范文

算法设计与分析课程论文五篇范文

算法设计与分析课程论文五篇范文第一篇:算法设计与分析课程论文“卓越工程师教育培养计划”(简称卓越计划)旨在培养一批创新能力强、适应经济社会发展需要的高质量工程技术人才。

在南通大学计算机科学与技术学院制定的软件工程专业卓越工程师的培养计划中,算法设计与分析被设置为一门核心必修课程。

通过该门课程的系统授课,重点培养学生的计算机问题求解能力,该能力是软件工程专业学生成长为卓越工程师必备的一项核心竞争力。

一个典型的计算机问题的求解一般需要经历5个阶段:①问题的分析和建模;②算法设计方法和相应数据结构的选择;③算法的实现;④算法的正确性证明和复杂度分析;⑤算法实现的优化等。

经过多轮的教学实践发现,学生之间水平参差不齐是教学过程中面临的最大问题。

随着高校招生规模的不断增大,不同学生之间在基础知识、智力水平、兴趣爱好、学习动机和学习方法上存在较大的差异性。

相同的教学内容,对于一些基础较好的学生来说理解难度不大,但对于一些基础较弱的学生来说,则难以理解。

因此,如何尊重学生个性差异、发展学生个性特长,在考虑学生整体发展的同时兼顾学生的个性特长发展,从而最终提高各个层次学生的综合素质是算法设计与分析课程的教学改革实践中需要重点关注的问题。

通过多次与学生的深入交流发现,学生在这门课程的学习过程中面临如下问题:1)课程教学内容难度高。

课程需要学生掌握常见的算法设计策略,如分治法、动态规划法和贪婪法等,对设计出的算法能进行正确性证明和复杂度分析。

很多知识点抽象层次高,需要学生具备一定的数学分析能力,同时,通常算法内部逻辑比较复杂,因此需要学生具备较强的编程功底。

笔者在讲授这些知识点时,均假设学生具备一定的数学分析能力和编程基础,但实际情况却不容乐观,很多学生在大一和大二的时候并未重视相关课程的学习,很多知识点都已经还给授课老师,在课堂上需要花费一定时间帮助学生回忆这些知识点。

同时,部分学生因编程经验较为匾乏,难以顺利地将伪代码转化成可运行的程序代码。

如何写一篇计算机科学研究论文算法设计和实现

如何写一篇计算机科学研究论文算法设计和实现

如何写一篇计算机科学研究论文算法设计和实现计算机科学研究论文是科研工作者展示研究成果的重要方式之一。

在论文撰写过程中,算法设计和实现是其中一个关键环节。

本文将从准备工作、算法设计和实现、论文撰写三个方面,介绍如何写一篇计算机科学研究论文算法设计和实现。

一、准备工作在开始写论文之前,需要进行充分的准备工作。

首先,需要明确研究的目标和研究问题。

其次,调研相关领域的相关研究成果,了解当前的研究动态和存在的问题。

接下来,选择一种适合的研究方法和算法进行实现。

最后,制定一个详细的研究计划和时间表,以确保按时完成研究任务。

二、算法设计和实现1. 算法设计算法是计算机科学研究的核心内容之一,良好的算法设计可以提高研究的效果和质量。

在设计算法时,首先需要对研究问题进行分析,确定算法的输入和输出以及解决问题的方法。

然后,根据问题的特点选择适当的算法模型,如贪心算法、动态规划、遗传算法等。

在算法的设计过程中,要注重算法的效率和可行性,并进行合理的优化。

2. 算法实现算法实现是将算法转化为计算机程序的过程。

在进行算法实现之前,需要选择合适的编程语言和开发环境。

常用的编程语言有C++、Java、Python等,根据自己的实际需求选择最适合的语言。

在进行算法实现时,要注重代码的可读性和可维护性,并遵循代码规范和良好的编程习惯。

同时,要进行充分的测试,确保程序的正确性和稳定性。

三、论文撰写1. 结构布局一篇论文应包含摘要、引言、相关工作、算法设计和实现、实验结果、结论等部分。

摘要是对整篇论文的简要说明,引言对研究问题和研究意义进行介绍,相关工作部分回顾已有的研究成果,算法设计和实现部分详细描述所采用的算法模型和实现方法,实验结果部分展示实验结果和数据分析,结论部分总结研究成果并讨论未来的研究方向。

2. 语言表达在论文撰写中,要注意语言表达的准确性和流畅性。

使用清晰简洁的语言描述问题和方法,避免冗长和复杂的句子。

论文中的术语和符号要统一,并进行适当的注释和解释。

计算机教学论文:聚焦计算思维的算法分析与设计课程教学改革

计算机教学论文:聚焦计算思维的算法分析与设计课程教学改革

计算机教学论文:聚焦计算思维的算法分析与设计课程教学改革0 引言算法是计算机科学中最具方法论性质的核心概念,被誉为计算机学科的灵魂。

图灵奖获得者Niklaus Wirth提出:算法+数据结构=程序,强调了算法在计算机领域的重要性。

在现实生活中,算法、算据和算力组成了人工智能技术的三要素;算法的新颖性和性能决定了学术论文在高水平期刊或会议上发表的可能性;算法能力测试是研究生复试和求职面试等场合常见的环节。

因此,学习并掌握好算法相关知识,对一名本科生的综合能力培养和职业发展来说非常重要。

国内外各大高校计算机专业在培养方案中,普遍开设了算法分析与设计(以下简称算法)课程,该课程以高级程序设计和数据结构为先导课程,又为人工智能等专业课程提供算法支撑,是培养方案的重要枢纽之一。

算法课程既包含抽象的理论,又强调算法的实践,对学生的逻辑思维和计算建模等能力有较高的要求,因此有必要聚焦计算思维,开展面向能力提升的课程教学改革。

1 课程教学和改革现状1.1 共性问题目前,采取小班化策略开展算法课程教学已比较普遍;多数高校选用MIT经典书籍《Introduction to Algorithms》作为教材;依托在线平台开展编程训练取得了良好的教学效果。

但在教学过程中,还存在一些共性问题。

(1)学生在理论学习时普遍存在畏难心理。

算法要求学生不仅掌握算法的实施,更强调对算法原理的理解;一些关键的算法要进行证明,如主方法、最优前缀码等,这需要大量的理论知识,涉及不少数学符号,学生容易感到枯燥和抽象,降低了学习兴趣。

(2)学生难以灵活运用算法解决实际问题。

学生往往能够较好地掌握教材中的经典问题和相应的算法,并完成课后习题和部分在线训练题,但遇到复杂的现实问题或工程问题时,要么没有思路,要么依赖直觉,无法准确构建输入输出间的解析关系。

(3)学生的基础水平和学习需求差异明显。

修读课程的学生水平参差不齐,学习动力和学习方法也各不相同,因此处在两极的学生的学习需求通常难以得到精细满足;另外,创新实验活动和程序设计竞赛吸引了部分学有余力的学生,但课程教学和第二课堂缺乏深度结合。

本科计算机毕设算法类

本科计算机毕设算法类

本科计算机毕设算法类全文共四篇示例,供读者参考第一篇示例:本科计算机毕业设计(算法类)是计算机科学与技术专业学生进行的一项重要的学术项目。

在这个项目中,学生需要通过研究和实践,运用所学的计算机算法知识,设计和实现一个具有一定规模和挑战性的算法系统。

该项目旨在让学生将所学的理论知识应用到实际项目中,培养学生的分析和解决问题的能力,提高他们的创新意识和实践能力。

在进行本科计算机毕业设计(算法类)时,学生可以选择不同的研究方向和课题内容。

学生可以选择研究排序算法、图算法、字符串匹配算法、动态规划算法等方面的内容。

通过对算法的研究和实践,学生可以更好地理解算法的运行原理和优化方法,提高对算法效率和性能的理解和应用能力。

在进行本科计算机毕业设计(算法类)的过程中,学生需要经历以下几个阶段:1. 选题阶段:学生可以选择自己感兴趣的研究方向和课题内容,并与导师进行深入的讨论和交流,确定最终的毕业设计课题。

在选题阶段,学生可以根据自己的兴趣和能力来选择适合自己的课题。

2. 研究阶段:在选题确定后,学生需要对相关领域的研究现状和发展趋势进行深入的研究和分析,了解该领域的前沿技术和问题,为设计和实现算法系统提供理论基础和参考依据。

3. 设计阶段:在研究阶段完成后,学生需要对算法系统进行详细的设计和规划,包括算法的整体架构、数据结构的选择和算法实现的步骤等内容。

设计阶段是整个毕业设计的核心部分,决定了最终算法系统的实现效果和性能表现。

4. 实现阶段:在设计阶段完成后,学生需要按照设计方案,利用计算机编程工具和技术,对算法系统进行具体的实现和开发。

在实现阶段,学生需要解决实际中遇到的问题和挑战,不断优化和改进算法系统的性能和功能。

5. 测试阶段:在实现阶段完成后,学生需要对算法系统进行全面的测试和评估,包括功能测试、性能测试、可靠性测试等内容。

通过测试阶段,学生可以对算法系统的实际表现和问题进行全面地了解,为最终的论文撰写和答辩做准备。

算法设计 毕业论文

算法设计 毕业论文

算法设计毕业论文算法设计毕业论文在计算机科学领域,算法设计是一门关键的学科,它涉及到解决问题的方法和步骤的设计。

算法设计是计算机科学的核心,它在各个领域都有广泛的应用。

本文将探讨算法设计的重要性以及一些常见的算法设计方法。

一、算法设计的重要性算法是计算机程序的核心,它决定了程序的效率和性能。

一个好的算法可以大大提高程序的执行速度和资源利用率。

而一个糟糕的算法则可能导致程序运行缓慢甚至崩溃。

因此,算法设计的重要性不言而喻。

在现实生活中,我们经常遇到需要解决的问题。

比如,在物流领域,如何合理地规划货物的运输路线;在社交网络中,如何推荐用户可能感兴趣的内容。

这些问题都可以通过算法来解决。

一个高效的算法可以帮助我们快速找到最佳解决方案,提高工作效率和用户满意度。

二、常见的算法设计方法1. 贪心算法贪心算法是一种常见的算法设计方法,它通过每一步选择当前最优解来构建整体最优解。

贪心算法通常适用于那些具有最优子结构特性的问题。

例如,假设我们需要在一条公路上设置加油站,以使得任意两个加油站之间的距离最短。

贪心算法可以通过每次选择距离最远的加油站来得到一个近似最优解。

2. 动态规划动态规划是一种常用的算法设计方法,它通过将问题分解为子问题,并保存子问题的解来解决复杂问题。

动态规划通常适用于那些具有重叠子问题和最优子结构特性的问题。

例如,在旅行商问题中,我们需要找到一条最短的路径,使得旅行商能够经过所有的城市并返回起始城市。

动态规划可以通过保存每个子问题的最优解来求解整体问题的最优解。

3. 分治法分治法是一种将问题分解为更小的子问题,并将子问题的解合并成整体解的算法设计方法。

分治法通常适用于那些可以被分解为相互独立的子问题的问题。

例如,在排序算法中,快速排序和归并排序就是基于分治法的算法。

它们将原始问题分解为更小的子问题,并通过合并子问题的解来得到整体解。

三、算法设计的挑战和未来发展尽管算法设计在计算机科学中扮演着重要的角色,但它也面临着一些挑战。

本科毕业论文 算法

本科毕业论文 算法

本科毕业论文算法算法(Algorithm),通常翻译为“算法”、“演算法”或“算法”等,指的是一种解题方案的规范和步骤,是一种具有一定规律性的操作方法。

算法是计算机科学的重要分支,能够解决许多问题,如排序、查找、最短路径等。

本篇论文将从算法的概念、分类、设计和分析等方面进行探讨,希望读者能对算法有一个全面的认识。

一、算法的概念算法指的是一种用于求解问题的有限步骤。

它是一个自动化过程,任何可以被计算机执行的任务都可以表示为一个算法,而大部分计算机程序都是算法的实现。

通常情况下,算法应具备以下要素:1.输入:算法要求有输入,通常是一个问题或一串数据。

2.输出:算法必须有输出,即针对输入生成相应的结果。

3.明确性:算法需要具有明确的步骤和操作方式。

4.有限性:算法应具备有限步骤,不应出现无限循环或死循环。

5.有效性:算法应能够在合理的时间内完成任务。

二、算法的分类算法可分为以下几种类型:1.穷举算法:这种算法通常应用于搜索问题。

它通过尝试所有可能的搜索路径来找到问题的解决方案,因此也称为暴力搜索。

2.贪心算法:贪心算法的核心思想是选择最优解。

在每个步骤中,该算法都选择自己认为最好的决策,从而最终得到最优解。

3.分治算法:这种算法将问题分为多个子问题,递归地解决每个子问题并将它们合并为最终解决方案。

分治算法通常应用于求解类似于快速排序和归并排序之类的排序算法。

4.动态规划算法:这种算法通常应用于求解具有最优化性质的问题。

它将问题分解为多个子问题并逐步求解各个子问题,然后将子问题的解决方案综合起来得到最终的解决方案。

5.回溯算法:这种算法思想是从一组可能的解决方案中选择一个,然后检查它是否满足要求。

如果没有满足,那么就回溯并选择下一个可行的解决方案,如此重复,直到找到符合要求的解决方案。

三、算法的设计算法设计是指将一个问题转化为可理解的算法步骤,然后将其实现为计算机程序的过程。

算法设计过程中通常需要进行以下几个步骤:1.问题定义:将问题抽象化,定义问题的输入和输出以及问题所需的约束条件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中国传媒大学2011 学年第一学期计算机算法设计与分析课程计算机算法设计与分析题目回溯法解决n色方柱问题的算法设计与分析学生姓名学号班级学院任课教师回溯法解决n色方柱问题的算法设计与分析摘要:对于计算机科学来说,算法(Algorithm)的概念是至关重要的。

算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

为了充分理解算法分析的思想,利用算法思想解决实际问题,所以用回溯法解决书上P181习题5—7 n色方柱问题。

关键字:计算机算法回溯法 n色方柱回溯法背景:回溯法也称为试探法,该方法首先暂时放弃关于问题规模大小的限制,并将问题的候选解按某种顺序逐一枚举和检验。

当发现当前候选解不可能是解时,就选择下一个候选解;倘若当前候选解除了还不满足问题规模要求外,满足所有其他要求时,继续扩大当前候选解的规模,并继续试探。

如果当前候选解满足包括问题规模在内的所有要求时,该候选解就是问题的一个解。

在回溯法中,放弃当前候选解,寻找下一个候选解的过程称为回溯。

扩大当前候选解的规模,以继续试探的过程称为向前试探。

回溯法的基本思想:确定了解空间的组织结构后,回溯法就从开始结点(根结点)出发,以深度优先的方式搜索整个解空间。

这个开始结点就成为一个活结点,同时也成为当前的扩展结点。

在当前的扩展结点处,搜索向纵深方向移至一个新结点。

这个新结点就成为一个新的活结点,并成为当前扩展结点。

如果在当前的扩展结点处不能再向纵深方向移动,则当前扩展结点就成为死结点。

换句话说,这个结点不再是一个活结点。

此时,应往回移动(回溯)至最近的一个活结点处,并使这个活结点成为当前的扩展结点。

回溯法即以这种工作方式递归地在解空间中搜索,直至找到所要求的解或解空间中已没有活结点时为止。

1、问题描述:设有n立方体,每个立方体的每个面用红、黄、蓝、绿等n种颜色之一染色。

要把这n个立方体叠成一个方形柱体,使得柱体的4个侧面的每一侧均有n种不同的颜色。

试设计一个回溯算法,计算出n个立方体的一种满足要求的叠置方案。

例如:第一行有1个正整数n,0<n<27,表示给定的立方体个数和颜色数均为n。

第2行是n个大写字母组成的字符串。

该字符串的第k(0<=k<n)个字符代表第k种颜色。

接下来的n行中,每行有6个数,表示立方体各面的颜色。

立方体各面的编号如图所示:上图中F表示前面,B表示背面,L表示左面,R表示右面,T表示顶面,D表示底面。

相应的2表示前面,3表示背面,0表示左面,1表示右面,5表示顶面,4表示底面。

2、算法分析:此问题中,立方体的每对相对的面得颜色是要考察的关键因素。

将每个立方体表示为有n个顶点的图。

图中每个顶点表示一种颜色。

在立方体每对向对面的顶点建连一条边。

例如,图(b)是图(a)所示的4个立方体所相应的子图。

将上述子图合并,并标明每一条边来自哪一个立方体如图2所示。

下一步在构成的图中,找出2个特殊子图。

一个子图表示叠置的n哥立方体的前侧面与背侧面,另一子图表示叠置的n个立方体的左侧面与右侧面。

这两个子图应满足下述性质。

①每个子图有n条边,且每个立方体恰好一条边。

②2个子图没有公共边。

③子图中每个顶点的度均为2。

对于图2中的图,找出满足要求的两个子图如图3所示。

给子图的每条边一个方向,使每个顶点有一条出边和一条入边。

有向边得始点对应于面和左面;有向边的终点对应于背面和右面。

图3给出的满足要求的解如下。

0(L) 1(R)2(F) 3(B) Cube1 Y B G RCube2 G Y R BCube3 B R B YCube4 R G Y G上述算法的关键是找满足性质(1)、(2)和(3)的子图。

用回溯法。

3、实验数据与结果:实验输入文件:input . txt4RGBBY0 2 1 3 0 03 0 2 1 0 12 1 0 2 1 31 3 3 02 2实验输出结果:output . txtRBGYRRYRBGRGBGRBGYGYYRBB参考文献:王晓东.计算机算法设计与分析(第3版)电子工业出版社附录:二维数组board[n][6]存储n个立方体各面的颜色,solu[n][6]存储解------------------------------------------------------------------------------------------------------- void search(){int i,t,cube,newg,over,ok;int *vert=new int[n];int *edge=new int[n*2];for(i=0;i<n;i++)vert[i]=0;t=-1;newg=1;while(t>-2){t++;cube=t%n; //每个立方体找2次if(newg)edge[t]=-1;over=0;ok=0;while(!ok && !over){edge[t]++;if(edge[t]>2)over=1; //每个立方体只有3条边else ok=(t<n || edge[t]!=edge[cube]); //是否已用过}if(!over){if(++vert[board[cube][edge[t]*2]]>2+t/n*2)ok=0;if(++vert[board[cube][edge[t]*2+1]]>2+t/n*2)ok=0;if(t%n==n-1&&ok) //check that each vertex is order 2 for(i=0;i<n;i++)if(cert[i]>2+t/n*2)ok=0;if(ok){if(t==n*2-1){ //找到解ans++;out(edge);return;}else newg=1;} //okelse{ //取下一条边--vert[board[cube][edge[t]*2]];--vert[board[cube][edge[t]*2+1]];t--;newg=0;}} //overelse{ //回溯t--;if(t>-1){cube=t%n;--vert[board[cube][edge[t]*2]];--vert[board[cube][edge[t]*2+1]];}t--;newg=0;}}}--------------------------------------------找到一个解由out输出。

--------------------------------------------void out(int edge[]){int k,a,b,c,d;for(int i=0;i<2;i++){for(int j=0;j<n;j++) used[j]=0;do{j=0; //找下一条未用边d=c=-1;while(j<n&&used[j]) j++;if(j<n)do{a=board[j][edge[i*n+j]*2];b=board[j][edge[i*n+j]*2+1];if(b==d)(k=a;a=b;b=k;)solu[j][i*2]=a;solu[j][i*2+1]=b;used[j]=1;if(c<0)c=a; //开始顶点d=b;for(k=0;k<n;k++) //找下一个立方体if(!used[k]&&(board[k][edge[i*n+k]*2]==b ||board[k][edge[i*n+k]*2+1]==b))j=k;}while(b!=c);}while(j<n);}for(int j=0;j<n;j++){k=3-edge[j]-edge[j+n];a=board[j][k*2];b=board[j][k*2+1];solu[j][4]=a;solu[j][5]=b;}for(i=0;i<n;i++){for(j=0;j<6;j++)cout<<color[solu[i][j]];cout<<endl;}}-----------------------------------------------------执行算法的主要函数如下-----------------------------------------------------int main(){readin();search();if(ans==0)cout<<"No Solution!"<<endl;return 0;}------------------------------------------- 初始数据由readin读入。

------------------------------------------- void readin(){fin>>n;Make2DArray(board,n,6);Make2DArray(solu,n,6);color=new char[n];used=new int[n];for(int j=0;j<n;j++)fin>>color[j];for(int i=0;i<n;i++)for(int j=0;j<6;j++)fin>>board[i][j]; }。

相关文档
最新文档