我为这句话道歉。在我们的内部高尔夫比赛中,我们玩得很开心,但它需要一些电子邮件来澄清,所以我希望我第一次就能捕捉到其中的大部分内容。
给定“模拟”降雪快照(作为字符串、stdin或函数/方法的参数),报告4个值:最小深度、最大深度、平均深度和持续时间。
下面是一个格式化的示例来说明输入:
* * **
** * ***
** * *
*
--------“*”是雪花,“-”是地面。想象一下那些“雪花”都落在地上了。这是最后的“快照”:
*
*
** * **
********
--------你需要报告:
另一个供参考的例子:
*
* *
*
*
--------最后快照:
* * ***
--------开始的“快照”将有8个“行”,8个“列”,并被管道分隔(管道分隔行)。例如(不包括引号):
“ | | | | * | * *| * |* |--------” 在单行上用管道分隔的4种值:0_
发布于 2011-02-08 07:57:18
s=raw_input()
R=range(8)
C=[s[i::9].count('*')for i in R]
print"%d|%d|%.1f|%d"%(min(C),max(C),sum(C)/8.,max(8-s[i::9].find('*')-C[i]for i in R if C[i]))发布于 2011-02-08 18:51:17
另外几种语言来源于我们的内部高尔夫:
int a = 0, b = 8, c = 0, d = 0, f, i, j, x;
for (i = 0; i < 8; i++)
{
f = x = 0;
for (j = 0; j < 8; )
if (s[i + j++ * 9] == '*')
{
x = x > 0 ? x : 9 - j;
f++;
}
d += f;
a = f > a ? f : a;
b = f < b ? f : b;
c = x - f > c ? x - f : c;
}
Console.Write("{0}|{1}|{2:.0}|{3}", b, a, d / 8f, c);s=gets;n=8;a=o=l=0;8.times{|i|f=x=0;8.times{|j|if(s[i+j*9].chr=='*'):x=8-j if x==0;f+=1;end}
o+=f;a=f if f>a;n=f if f<n;l=x-f if x-f>l}
printf "%d|%d|%.1f|%d",n,a,o.to_f/8,l发布于 2016-07-23 13:31:01
" \n \n* * ** \n \n** * ***\n** * * \n* \n--------"
Most/@ToCharacterCode@%~Partition~9/10-16/5
Min@#|Max@#|Mean@#~Round~.1|Position[#,1][[{-1,1},1]].{1,-1}-1&@Total@%1-4
在这篇文章中,我不得不求助于转义字符串形式\n作为粘贴和复制失去空格。在前端,我可以这样输入:

https://codegolf.stackexchange.com/questions/689
复制相似问题