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 个存活的相邻细胞,则该细胞在下一代会复活。所有其他的死亡细胞在下一代仍然死亡。
所有的出生和死亡都是同时发生,因此死亡的细胞可以帮助相邻细胞获得新生,但是不能通过减少拥挤来阻止其他细胞死亡,也不能杀死出生的细胞或保护上一代中存活的细胞。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值