天天看點

UVa 10489 - Boxes of Chocolates

題目:有B個盒子,沒個盒子中有a1個小盒子,每個小盒子裡面還有a2個更小的盒子,...;

            最小的盒子裡有ak個巧克力,問把巧克力分給N個人後的餘數。

分析:模拟,大整數乘法,餘數運算。直接利用Java的大數類求解。

說明:(⊙_⊙)類名要是Main。

import java.util.Scanner;  
import java.math.BigInteger;  
  
class Main
{  
    public static void main(String[] args) {  
        Scanner cin = new Scanner(System.in);  
        int T = cin.nextInt();  
        int N, B, K;
        
        while (T -- > 0) {  
            N = cin.nextInt();  
            B = cin.nextInt();  
            BigInteger ans = BigInteger.valueOf(0);  
            while (B -- > 0) {  
                K = cin.nextInt();  
                BigInteger tmp = BigInteger.valueOf(1);  
                while (K -- > 0) {
                    tmp = tmp.multiply(BigInteger.valueOf(cin.nextInt()));  
                }  
                ans = ans.add(tmp);  
            }  
            
            System.out.println((ans.remainder(BigInteger.valueOf(N))).toString());  
        } 
    }  
}