首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计数车移动1D

计数车移动1D
EN

Code Golf用户
提问于 2019-09-02 20:05:31
回答 16查看 3.2K关注 0票数 34

给定一个有一行钩子和/或空空间的位置,输出多少不同的rook移动是可能的。一辆车可以向左或向右移动到一个空空间,但不能移动到需要经过另一辆车的地方。当一辆车移动时,其他的车钩就会留在原地。

例如,从这一职位可以进行6次调动:

代码语言:javascript
复制
.R..RRR.
  • 第一个(最左边)车可以向左移动1个空格,或向右移动1个或2个空格(3个移动)。
  • 下一个rook只能移动剩下的1或2个空格(2次移动)。
  • 第三辆车根本无法移动,因为它被挤在另外两个车钩之间(0移动)
  • 最后一辆车只能向右移动1个空格(1次移动)。

请注意,一个位置可能根本没有rooks,或者根本没有空空间。

输入:非空列表(字符串、数组等)由车架和空隙组成。您可以将它们表示为True/False1/0'R'/'.',或任意两个一致的不同的单字节字符或您选择的一位数字。这取决于你,哪一个意味着车,哪一个意味着空空间。

输出:一个非负整数。整数浮标也很好。

测试用例

输出是左边的数字。

代码语言:javascript
复制
6 .R..RRR.
0 .
0 R
4 R..RR
3 ...R
8 ..R..R..
0 ......

对于更多的测试用例,下面是长度为5的所有输入。

代码语言:javascript
复制
0 .
0 R
0 ..
1 .R
1 R.
0 RR
0 ...
2 ..R
2 .R.
1 .RR
2 R..
2 R.R
1 RR.
0 RRR
0 ....
3 ...R
3 ..R.
2 ..RR
3 .R..
3 .R.R
2 .RR.
1 .RRR
3 R...
4 R..R
3 R.R.
2 R.RR
2 RR..
2 RR.R
1 RRR.
0 RRRR
0 .....
4 ....R
4 ...R.
3 ...RR
4 ..R..
4 ..R.R
3 ..RR.
2 ..RRR
4 .R...
5 .R..R
4 .R.R.
3 .R.RR
3 .RR..
3 .RR.R
2 .RRR.
1 .RRRR
4 R....
6 R...R
5 R..R.
4 R..RR
4 R.R..
4 R.R.R
3 R.RR.
2 R.RRR
3 RR...
4 RR..R
3 RR.R.
2 RR.RR
2 RRR..
2 RRR.R
1 RRRR.
0 RRRRR
EN

回答 16

Code Golf用户

发布于 2019-09-02 23:45:57

杰夫特,5 字节数

代码语言:javascript
复制
²x èS

试试看

代码语言:javascript
复制
²x èS        Implicit input string of U
²            U + U
 x           Remove trailing and leading whitespace
   èS        Number of spaces
票数 5
EN

Code Golf用户

发布于 2019-09-02 22:24:47

Perl 6,16字节

代码语言:javascript
复制
{+m:ex/s+R|Rs+/}

在网上试试!

一个regex,它匹配所有的rooks实例,后面跟着空格,或者空格后面跟着rook,并返回匹配的数量。

票数 4
EN

Code Golf用户

发布于 2019-09-02 23:23:30

05AB1E,5字节

代码语言:javascript
复制
«ðÚð¢

在网上试试!

代码语言:javascript
复制
«       # concatenate the input with itself
 ðÚ     # remove leading and trailing spaces
   ð¢   # count spaces
票数 4
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/191180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档