Guest User

Untitled

a guest
Feb 20th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.76 KB | None | 0 0
  1.  //calculate maximum summation for the nth category
  2.     public int calc(int n, int mask){
  3.            
  4.         if(visited[mask]) return val[mask];
  5.        
  6.         val[mask] = 0;
  7.         int _mask = mask;
  8.    
  9.         for(int i = 12, j = 0; i >= 0; i--, j++){
  10.             int temp = mask & (1<<i);
  11.             if(temp != 0){
  12.                 _mask = mask ^ (1<<i);
  13.                                
  14.                 int c = calc(n-1,_mask),
  15.                     e = rolls[j].categoryPoints[n-1],
  16.                     m = c + e;
  17.                
  18.                 visited[mask] = true;
  19.                 if (m > val[mask]){
  20.                     val[mask] = m;
  21.                     edges[mask] = new Edge(n-1,e);
  22.                     top[mask] = _mask;
  23.                 }
  24.            
  25.             }
  26.         }
  27.         if(n == 6 && val[mask] > 62){
  28.             val[mask] += 35;
  29.            
  30.         }
  31.        
  32.         return val[mask];
  33.        
  34.     }
Add Comment
Please, Sign In to add comment