`
张长平
  • 浏览: 12830 次
  • 性别: Icon_minigender_1
  • 来自: 河北
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

2011 英特尔® 线程挑战赛第一阶段的竞赛于 2011 年 4 月 18 日星期一开始,敬请关注!

阅读更多
http://software.intel.com/zh-cn/contests/Intel-Threading-Challenge-2011/contests.php


入门级

您是刚开始进行并行编程吗?您正在寻找途径完善自己的线程技能吗?如果您对其中一个问题的答案是肯定的,并且喜欢与他人竞争,您就来对地方啦!

入门级竞赛为任何级别的开发人员提供了参与竞赛和发展线程技能的机会!因此,如果您是线程初学者,或者正在寻找途径完善自己的线程技能,您就来对地方啦!

2011 英特尔® 线程挑战赛第一阶段的竞赛于 2011 年 4 月 18 日星期一开始,敬请关注!

参加 2011 线程挑战赛,您可以在自愿的基础上选择利用英特尔® 多核实验室 (MTL),在远程 40 核(80 线程)开发环境中使用最新硬件和软件开发、测试和验证您的代码。

关于多核实验室以及帐户申请方法的更多信息,请点击这里或发送电子邮件申请帐户。





请查看以下问题集列表,了解每个问题的开放时间!

注意:一次只能参加一个级别的竞赛和一个问题。如果该级别不适合您,请查看专业级问题,该问题也已经发布!有关详细信息,请参阅竞赛规则!

祝您好运!






1.Maze of LifeLoading...
第一阶段入门级竞赛的第一个问题(Maze of Life)于 2011 年 4 月 18 日发布并于 2011 年 5 月 9 日关闭(美国太平洋夏令时)。

您需要在 2011 年 5 月 9 日中午 12:00(美国太平洋夏令时)前提交您的答案。 请参阅竞赛规则了解详情,或访问此问题的专用论坛向其他人请教。 祝您好运!


Maze of Life

Maze of Life 是 Andrea Gilbert 设计的一款智力游戏(http://www.clickmazes.com/)。它从 Game of Life 的初始设置及标准规则开始计算连续代数,初始设置中的一个细胞被指定为智能细胞,并且网格上的一个点被指定为目标位置。在 Game of Life 的各代之间,智能细胞可以移动到其当前位置周围的空网格点,也可以停留在当前网格点不动。通过将智能细胞放入任何其他网格来计算下一代死亡和存活细胞。此游戏的目标是让智能细胞活着移动到目标网格点。如果智能细胞尚未到达目标网格点就已死亡,则游戏结束。

问题描述:
编写多线程代码以找到生命迷宫输入实例的解决方案。此应用程序的输入内容来自命令行上列出的第一个文本文件。此文件将包含游戏起始网格的初始配置。此应用程序的输出内容将是智能细胞从起始网格点到目标网格点的路径,并且此路径储存在命令行上列出的第二个文件中。此路径必须保证智能细胞活着从起始位置到达目标位置,并且从一代到下一代与其他存活细胞交互。

输入描述:
此程序的输入内容来自命令行上一个指定的文本文件。该文件的第一行是表示网格大小(行数和列数)的两个整数。为设置一个共同的参考点,保持参考一致,将网格的左上角设定为 (1 1) 位置。该文件的第二行是目标网格点的坐标。第三行是智能细胞的起始坐标。其余行是处于游戏初始状态的其他“存活”细胞的坐标。该文件的每一行都将包含 10 个整数,彼此之间至少隔一个空格。它们代表 5 个存活细胞的坐标对。双零标记 (0 0) 表示存活细胞坐标的终点。每行 10 个整数的例外将发生在该文件的最后一行,其中可能少于 5 个坐标及标记。

输出描述:
此应用程序将输出一个列表,其中列出智能细胞到达目标点所经过的路径。每次移动用“0”至“8”之间的一个整数数字表示。使智能细胞停留在当前网格点的移动用“0”表示,如果位置发生变化,则按顺时针从左上角(对角线)“1”开始连续对周围 8 个单元格进行编号,到“8”为止。(例如,如果指定向上移动(北)为“2”,则向下,再向右的对角移动(东南)将被指定为“5”。) 输出文件中的行将包含 40 个数字,彼此之间无空格,最后一行可能会少于 40 个字符。如果给定的方格图没有可能的解决方案,则输出文件应该包含一条消息,说明这一点。

输入命令行示例: ./mazeoflife gridin.txt pathout.txt

输入文件示例,gridin.txt:

7 7
4 6
4 2
1 4 2 3 2 5 3 4 5 4
6 3 6 5 7 4 0 0

输出文件示例,pathout.txt:

解决方案路径:
3845524


计时:
将使用此程序的总执行时间进行计分。为得到最准确的计时结果,所提交的代码需要包含计时代码并将计算出的总执行时间打印到标准输出,否则将使用外部秒表计时。

计分注意事项:
一个给定的方格图可能有多个解决方案。如果能找到最短路径将会有一些奖励。因此,利用该应用程序的执行时间得到的总分将以 100 为基数,减去用于评判的方格图数(具有解决方案)的 5 倍。例如,如果有 4 个方格图,则最佳总执行时间的执行分是 80。输出最短路径的程序将获得每个方格图 5 分的“奖励”。此奖励并非独占,输出相同长度路径的多个程序都可以获得,即使这些程序发现不同的解决方案。

Game of Life:
Conway 的 Game of Life 是在矩形网格上模拟生物生存和死亡的一款游戏。从理论上讲,此网格应该是无界限的,但是由于可用于计算机模拟的内存有限,所以我们需要限制网格“宇宙”的大小。每个网格点要么被存活的生物占用,要么为空。被占用的点表示有存活生物,而空点表示死亡生物。该游戏按照一定规则让细胞一代一代地经历出生与死亡。

可以根据以下规则将细胞的状态从一代更改为下一代:



一个细胞周围分布有 8 个其他细胞,分别水平、垂直、对角地与其相邻。
如果一个存活细胞只有 0 个或 1 个存活的相邻细胞,则此细胞在下一代将会饿死。
如果一个存活细胞有 4 个或更多存活的相邻细胞,则此细胞在下一代将会挤死。
如果一个存活细胞有 2 个或 3 个存活的相邻细胞,则此细胞在下一代仍可存活。
如果一个细胞死亡,但它正好有 3 个存活的相邻细胞,则该细胞在下一代会复活。所有其他的死亡细胞在下一代仍然死亡。
所有的出生和死亡都是同时发生,因此死亡的细胞可以帮助相邻细胞获得新生,但是不能通过减少拥挤来阻止其他细胞死亡,也不能杀死出生的细胞或保护上一代中存活的细胞。

分享到:
评论

相关推荐

    2009 英特尔® 线程挑战赛 第四题 字符串匹配 源码

    2009 英特尔® 线程挑战赛—字符串匹配 使用tbb、OpenMP进行了并行优化 实现了KMP BM WM算法

    2009 英特尔® 线程挑战赛 第一题 基数排序 源码

    2009 英特尔® 线程挑战赛—基数排序 使用tbb进行了并行优化 速度很快 希望对大家有用

    2009 英特尔® 线程挑战赛 第三题 查找 源码

    2009 英特尔® 线程挑战赛—查找 使用tbb OpenMP进行了并行优化 希望对大家有用

    2009 英特尔® 线程挑战赛 第二题 3SAT 源码

    2009 英特尔® 线程挑战赛—3SAT 使用tbb结合OpenMP进行了并行优化

    Intel.Thread.Profiler.英特尔®.线程档案器

    <br>英特尔® 线程档案器 3.1 Windows* 版有助于您调整并提高多线程应用程序的运行速度,从而使代码在英特尔® 多核处理器上的性能得到优化。 <br>英特尔® 线程档案器可作为独立产品获得。更加完整的性能...

    Intel.Thread.Profiler.英特尔_.线程档案器4

    <br>英特尔® 线程档案器 3.1 Windows* 版有助于您调整并提高多线程应用程序的运行速度,从而使代码在英特尔® 多核处理器上的性能得到优化。 <br>英特尔® 线程档案器可作为独立产品获得。更加完整的性能...

    有利于英特尔® Parallel Inspector线程错误分析的编译器设置

    英特尔® Parallel Inspector 能够分析二进制代码来查找线程错误。然而,在编译程序时使用适当的编译器设置可使分析更加容易。基于本文主旨,下文提及英特尔® Parallel Inspector 时,即指英特尔® Parallel ...

    利用英特尔 线程构建模块

    英特尔® TBB 采用增量式线程化方法,始自对初始的 72 项关键工程操作进行线程化,紧接着对用于生成边缘图物理基元的代码实施了线程化。在两路 (2S) 英特尔® 至强® 处理器 5100 系列平台(四核)上对七个较大的...

    英特尔多核/多线程技术

    为了使开发人员在面对多核体系结构,以及需要多线程编程时有一本好的参考手册 同时为高等学校计算机专业的师生进行多核多线程程序教学时提供一本有价值的参考书 英特尔软件学院联合大学教师编纂了这本《英特尔多核/...

    intel英特尔多核_多线程技术中文版

    intel英特尔多核_多线程技术中文版

    Intel.Thread.Profiler.英特尔_.线程档案器9

    <br>英特尔® 线程档案器 3.1 Windows* 版有助于您调整并提高多线程应用程序的运行速度,从而使代码在英特尔® 多核处理器上的性能得到优化。 <br>英特尔® 线程档案器可作为独立产品获得。更加完整的性能...

    Intel.Thread.Profiler.英特尔_.线程档案器7

    <br>英特尔® 线程档案器 3.1 Windows* 版有助于您调整并提高多线程应用程序的运行速度,从而使代码在英特尔® 多核处理器上的性能得到优化。 <br>英特尔® 线程档案器可作为独立产品获得。更加完整的性能...

    Intel.Thread.Profiler.英特尔_.线程档案器6

    <br>英特尔® 线程档案器 3.1 Windows* 版有助于您调整并提高多线程应用程序的运行速度,从而使代码在英特尔® 多核处理器上的性能得到优化。 <br>英特尔® 线程档案器可作为独立产品获得。更加完整的性能...

    Intel.Thread.Profiler.英特尔_.线程档案器5

    <br>英特尔® 线程档案器 3.1 Windows* 版有助于您调整并提高多线程应用程序的运行速度,从而使代码在英特尔® 多核处理器上的性能得到优化。 <br>英特尔® 线程档案器可作为独立产品获得。更加完整的性能...

    Intel.Thread.Profiler.英特尔_.线程档案器10

    <br>英特尔® 线程档案器 3.1 Windows* 版有助于您调整并提高多线程应用程序的运行速度,从而使代码在英特尔® 多核处理器上的性能得到优化。 <br>英特尔® 线程档案器可作为独立产品获得。更加完整的性能...

    Intel.Thread.Profiler.英特尔_.线程档案器8

    <br>英特尔® 线程档案器 3.1 Windows* 版有助于您调整并提高多线程应用程序的运行速度,从而使代码在英特尔® 多核处理器上的性能得到优化。 <br>英特尔® 线程档案器可作为独立产品获得。更加完整的性能...

    Intel.Thread.Profiler.英特尔_.线程档案器11

    <br>英特尔® 线程档案器 3.1 Windows* 版有助于您调整并提高多线程应用程序的运行速度,从而使代码在英特尔® 多核处理器上的性能得到优化。 <br>英特尔® 线程档案器可作为独立产品获得。更加完整的性能...

    《英特尔多核/多线程技术》。

    为了使开发人员在面对多核体系结构,以及需要多线程编程时有一本好的参考手册 同时为高等学校计算机专业的师生进行多核多线程程序教学时提供一本有价值的参考书 英特尔软件学院联合大学教师编纂了这本《英特尔多核/...

    Intel.Thread.Profiler.英特尔_.线程档案器3

    <br>英特尔® 线程档案器 3.1 Windows* 版有助于您调整并提高多线程应用程序的运行速度,从而使代码在英特尔® 多核处理器上的性能得到优化。 <br>英特尔® 线程档案器可作为独立产品获得。更加完整的性能...

    英特尔多核多线程技术(中文版带书签)

    英特尔多核多线程技术中文版带书签

Global site tag (gtag.js) - Google Analytics