- 511 名前:253 mailto:sage [2020/09/06(日) 19:04:52.54 ID:EhLQImvS.net]
- >>498 Perl5、>>497 のBug Fix、同じ所を何度も通るので漸化式かメモ化使って動的計画法で解けるようにできるかもしれない
use feature qw{signatures say}; no warnings 'experimental'; $T = <DATA>; chomp $T; push @{$p{$$_[0]}}, $$_[1] for map{[split' ']}<DATA>; use List::Util 'max'; sub f($t, $p) { my $s = 0; if ($t <= $T) { if (0 < $p and $p < 11) { $s++ if grep{$_ eq $p} @{$p{$t}}; $t++; $s += max(f($t, $p-1), f($t, $p), f($t, $p+1)); } } $s } say f(0, 1); __DATA__ 11 3 2 2 3 3 4 4 4 5 4 4 7 5 7 6 7 7 7 8 7 7 10
|

|