リンク:https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/
アイデア:
DFS
コード:
クラス解決{ パブリック: INT get_single_sum(INT X){ int型、S = 0 。 一方、(X){ S + = X%10 。 X / = 10 。 } 戻りS。 } INT get_sum(対< INT、INT > P){ 戻り get_single_sum(p.first)+ get_single_sum(p.second)。 } INT movingCount(INT M、整数 nは、INT K){ int型 RES = 0 。 もし(!!M || n)のリターン 0 ; ベクター <ベクトル< BOOL >> ST(M、ベクトル< BOOL >(N、偽))。 キュー <ペア< int型、int型 >> Q; INTの DX [ 4 ] = { - 1、0、1、0 }、DY [ 4 ] = { 0、1、0、 - 1 }。 q.push({ 0、0 })。 一方、(q.size()){ オートT = )(q.front。 q.pop(); もし(get_sum(T)> K || ST [t.first] [t.second])続けます。 解像度 ++ ; ST [t.first] [t.second] = 真; 以下のために(INT iが= 0 ; I < 4 ; ++ {I) INT X = t.first + DX [i]は、Y = t.second + DY [I]を、 もし(x> = 0 && X <M && Y> =0 && Y < N){ q.push({X、Y})。 } } } 戻りRES。 } }。