3
超音波多米诺瓷砖
任务 编写一个程序,从STDIN或作为命令行参数读取三个整数m,n,打印出所有可能的矩形为m×n且由2×1和1×2 Domino组成的平铺,最后打印有效平铺的数量。 单个平铺的多米诺骨牌必须用两个破折号(-)表示2×1,用两个竖线(|)表示1×2的多米诺骨牌。每个平铺(包括最后一个平铺)都必须紧跟换行符。 出于评分目的,您还必须接受来自STDIN的标志或作为命令行参数的标志,该标志使您的程序仅打印有效拼贴的数量,而不打印拼贴本身。 您的程序不得超过1024个字节。它必须适用于所有输入,使得m×n≤64。 (灵感来自于打印所有4x6矩形的多米诺骨牌。) 例 $ sdt 4 2 ---- ---- ||-- ||-- |--| |--| --|| --|| |||| |||| 5 $ sdt 4 2 scoring 5 计分 您的分数取决于设置了标志的输入8 8的程序执行时间。 为了使此代码成为最快的代码,而不是最快的计算机挑战,我将在自己的计算机上运行所有提交的文件(英特尔酷睿i7-3770、16 GiB PC3-12800 RAM)以确定官方成绩。 请留下有关如何编译和/或执行代码的详细说明。如果您需要使用特定版本的语言的编译器/解释器,请对此声明。 如果发生以下情况,我保留不对提交内容进行评分的权利: 我的操作系统(Fedora 21,64位)没有免费的(如在啤酒中)编译器/解释器。 尽管我们竭尽全力,但是您的代码无法正常工作和/或在我的计算机上产生不正确的输出。 编译或执行需要一个多小时。 您的代码或唯一可用的编译器/解释器包含对的系统调用rm -rf ~或同样令人讨厌的东西。 排行榜 我对所有提交进行了重新评分,以10,000次迭代进行编译,并以100至10,000次迭代执行(取决于代码的速度),并在循环中运行编译和执行(取决于代码的速度)并计算平均值。 结果是: User Compiler …