1343: 看医生

1343: 看医生

时间限制: 2 Sec  内存限制: 256 MB

题目描述

小A得了一个很严重得病。他要拜访n个医生,以得到准确的诊断结果。每个医生都需要了解之前所有的病情信息,所以小A需要按照顺序拜访他们(从编号1依次到编号n)。

每个医生都有自己的工作时间。第i个医生第si天工作,并且每di 天工作一天,即第i个医生工作的时间为 si , si + di , si + 2di , ....

因为诊断时间很长,所以小A一天最多拜访一个医生。

请你帮小A计算他拜访完所有医生最少需要到第几天(是从第一天开始计算,而不是从拜访第一个医生开始)。

输入

第一行:一个整数T,测试实例个数

对于每组测试实例:

第一行:一个整数n (1 ≤ n ≤ 1000) —— 表示小A要拜访的医生的数量。

接下来的n行:每行包括两个整数 si 和 di (1 ≤ si, di≤ 1000) ,含义见上面题目描述。

输出

每组测试实例输出一行:包括一个整数——小A拜访完所有医生最少需要到第几天。

样例输入

2
3
2 2
1 2
2 2
2
10 1
6 5

样例输出

4
11
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
         
        int n = sc.nextInt();
        int fif[] = new int[n];
         
        for (int i = 0; i < n; i++) {
            int nn = sc.nextInt();
            int a[][] = new int[nn][2];
            for (int j = 0; j < nn; j++) {
                a[j][0] = sc.nextInt();
                a[j][1] = sc.nextInt();
            }
            fif[i] = f(a);
        }
         
        for (int i = 0; i < fif.length; i++) {
            System.out.println(fif[i]);
        }
    }
 
    private static int f(int[][] a) {
        int temp = a[0][0];
        if(a.length==1) {
            return temp;
        }else {
            for (int j = 1; j < a.length; j++) {
                temp = ff(temp,a,j);
            }
            return temp;
        }
    }
     
    private static int ff(int temp, int[][] a, int i) {
        for (int j = 1; j < 10000 ; j++) {
            if(a[i][0]>temp) {
                return a[i][0];
            }else {
                int e = (temp+j-a[i][0])%a[i][1];
                if(e==0) {
                    temp += j;
                    break;
                }
            }
        }
        return temp;
    }
}
/**************************************************************
    Problem: 1343
    User: 20161514325
    Language: Java
    Result: 正确
    Time:1100 ms
    Memory:65912 kb
****************************************************************/

猜你喜欢

转载自blog.csdn.net/qq_39507723/article/details/83720631