@@ -78334,7 +78334,57 @@ <h3 id="solution-1">Solution 1</h3>
78334
78334
<div class="tabbed-set tabbed-alternate" data-tabs="1:4"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label></div>
78335
78335
<div class="tabbed-content">
78336
78336
<div class="tabbed-block">
78337
- <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code>
78337
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
78338
+ <span class="normal"> 2</span>
78339
+ <span class="normal"> 3</span>
78340
+ <span class="normal"> 4</span>
78341
+ <span class="normal"> 5</span>
78342
+ <span class="normal"> 6</span>
78343
+ <span class="normal"> 7</span>
78344
+ <span class="normal"> 8</span>
78345
+ <span class="normal"> 9</span>
78346
+ <span class="normal">10</span>
78347
+ <span class="normal">11</span>
78348
+ <span class="normal">12</span>
78349
+ <span class="normal">13</span>
78350
+ <span class="normal">14</span>
78351
+ <span class="normal">15</span>
78352
+ <span class="normal">16</span>
78353
+ <span class="normal">17</span>
78354
+ <span class="normal">18</span>
78355
+ <span class="normal">19</span>
78356
+ <span class="normal">20</span>
78357
+ <span class="normal">21</span>
78358
+ <span class="normal">22</span>
78359
+ <span class="normal">23</span>
78360
+ <span class="normal">24</span>
78361
+ <span class="normal">25</span>
78362
+ <span class="normal">26</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span> <span class="nc">Solution</span><span class="p">:</span>
78363
+ <span class="k">def</span> <span class="nf">waysToBuildRooms</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prevRoom</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">])</span> <span class="o">-></span> <span class="nb">int</span><span class="p">:</span>
78364
+ <span class="n">modulo</span> <span class="o">=</span> <span class="mi">10</span><span class="o">**</span><span class="mi">9</span> <span class="o">+</span> <span class="mi">7</span>
78365
+ <span class="n">ingoing</span> <span class="o">=</span> <span class="n">defaultdict</span><span class="p">(</span><span class="nb">set</span><span class="p">)</span>
78366
+ <span class="n">outgoing</span> <span class="o">=</span> <span class="n">defaultdict</span><span class="p">(</span><span class="nb">set</span><span class="p">)</span>
78367
+
78368
+ <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">prevRoom</span><span class="p">)):</span>
78369
+ <span class="n">ingoing</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">prevRoom</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
78370
+ <span class="n">outgoing</span><span class="p">[</span><span class="n">prevRoom</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
78371
+ <span class="n">ans</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">]</span>
78372
+
78373
+ <span class="k">def</span> <span class="nf">recurse</span><span class="p">(</span><span class="n">i</span><span class="p">):</span>
78374
+ <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">outgoing</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
78375
+ <span class="k">return</span> <span class="mi">1</span>
78376
+
78377
+ <span class="n">nodes_in_tree</span> <span class="o">=</span> <span class="mi">0</span>
78378
+ <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">outgoing</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
78379
+ <span class="n">cn</span> <span class="o">=</span> <span class="n">recurse</span><span class="p">(</span><span class="n">v</span><span class="p">)</span>
78380
+ <span class="k">if</span> <span class="n">nodes_in_tree</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
78381
+ <span class="n">ans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*=</span> <span class="n">comb</span><span class="p">(</span><span class="n">nodes_in_tree</span> <span class="o">+</span> <span class="n">cn</span><span class="p">,</span> <span class="n">cn</span><span class="p">)</span>
78382
+ <span class="n">ans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">%=</span> <span class="n">modulo</span>
78383
+ <span class="n">nodes_in_tree</span> <span class="o">+=</span> <span class="n">cn</span>
78384
+ <span class="k">return</span> <span class="n">nodes_in_tree</span> <span class="o">+</span> <span class="mi">1</span>
78385
+
78386
+ <span class="n">recurse</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
78387
+ <span class="k">return</span> <span class="n">ans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">%</span> <span class="n">modulo</span>
78338
78388
</code></pre></div></td></tr></table></div>
78339
78389
</div>
78340
78390
<div class="tabbed-block">
@@ -78382,6 +78432,11 @@ <h3 id="solution-1">Solution 1</h3>
78382
78432
78383
78433
<nav>
78384
78434
78435
+ <a href="https://github.com/sarvex" class="md-author" title="@sarvex">
78436
+
78437
+ <img src="https://avatars.githubusercontent.com/u/1885938?v=4&size=72" alt="sarvex">
78438
+ </a>
78439
+
78385
78440
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
78386
78441
78387
78442
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">
0 commit comments