File tree Expand file tree Collapse file tree 2 files changed +21
-10
lines changed 
s3425_longest_special_path 
s3426_manhattan_distances_of_all_arrangements_of_pieces Expand file tree Collapse file tree 2 files changed +21
-10
lines changed Original file line number Diff line number Diff line change @@ -24,7 +24,9 @@ public int[] longestSpecialPath(int[][] edges, int[] nums) {
2424            adj [i ] = new  ArrayList <>();
2525        }
2626        for  (int [] e  : edges ) {
27-             int  u  = e [0 ], v  = e [1 ], w  = e [2 ];
27+             int  u  = e [0 ];
28+             int  v  = e [1 ];
29+             int  w  = e [2 ];
2830            adj [u ].add (new  int [] {v , w });
2931            adj [v ].add (new  int [] {u , w });
3032        }
@@ -49,8 +51,11 @@ public int[] longestSpecialPath(int[][] edges, int[] nums) {
4951    private  void  buildDist (int  u , int  parent , int  currDist ) {
5052        dist [u ] = currDist ;
5153        for  (int [] edge  : adj [u ]) {
52-             int  v  = edge [0 ], w  = edge [1 ];
53-             if  (v  == parent ) continue ;
54+             int  v  = edge [0 ];
55+             int  w  = edge [1 ];
56+             if  (v  == parent ) {
57+                 continue ;
58+             }
5459            buildDist (v , u , currDist  + w );
5560        }
5661    }
@@ -78,7 +83,9 @@ private void dfs(int u, int parent) {
7883        }
7984        for  (int [] edge  : adj [u ]) {
8085            int  v  = edge [0 ];
81-             if  (v  == parent ) continue ;
86+             if  (v  == parent ) {
87+                 continue ;
88+             }
8289            dfs (v , u );
8390        }
8491        pathStack .remove (pathStack .size () - 1 );
Original file line number Diff line number Diff line change 44
55public  class  Solution  {
66    private  long  comb (long  a , long  b , long  mod ) {
7-         if  (b  > a ) return  0 ;
8-         long  numer  = 1 , denom  = 1 ;
7+         if  (b  > a ) {
8+             return  0 ;
9+         }
10+         long  numer  = 1 ;
11+         long  denom  = 1 ;
912        for  (long  i  = 0 ; i  < b ; ++i ) {
1013            numer  = numer  * (a  - i ) % mod ;
1114            denom  = denom  * (i  + 1 ) % mod ;
1215        }
13-         long  denom_inv  = 1 ;
16+         long  denomInv  = 1 ;
1417        long  exp  = mod  - 2 ;
1518        while  (exp  > 0 ) {
1619            if  (exp  % 2  > 0 ) {
17-                 denom_inv  = denom_inv  * denom  % mod ;
20+                 denomInv  = denomInv  * denom  % mod ;
1821            }
1922            denom  = denom  * denom  % mod ;
2023            exp  /= 2 ;
2124        }
22-         return  numer  * denom_inv  % mod ;
25+         return  numer  * denomInv  % mod ;
2326    }
2427
2528    public  int  distanceSum (int  m , int  n , int  k ) {
26-         long  res  = 0 , mod  = 1000000007 ;
29+         long  res  = 0 ;
30+         long  mod  = 1000000007 ;
2731        long  base  = comb ((long ) m  * n  - 2 , k  - 2 , mod );
2832        for  (int  d  = 1 ; d  < n ; ++d ) {
2933            res  = (res  + (long ) d  * (n  - d ) % mod  * m  % mod  * m  % mod ) % mod ;
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments