1. 程式人生 > >SDUT-2614 This is an YY Problem

SDUT-2614 This is an YY Problem

Problem Description YY 小時候性格孤僻,小朋友們都不喜歡跟他一起玩,於是他養成了一個奇怪的習慣:每天都在屋子裡走來走去。有一天,他突然想到了一個問題,假設屋子是一個N x M 的矩形,裡面鋪著 1 x 1 的地板磚(即共有 N 行,每行 M 塊地板磚),他想知道沿著對角線從左上角走到右下角會走過多少塊地板磚( YY 可以看做一個質點)。樣例中四組資料的對應圖片如下圖所示:

Input 輸入資料的第一行為一個正整數 T(T ≤ 100),代表共有 T 組測試資料。 對於每組測試資料: 輸入兩個正整數 N 和 M (1 ≤ N, M ≤ 104)。 Output 對於每組測試資料,輸出一個正整數 R,表示走過的地板磚數。 Sample Input 4 4 1 3 2 4 2 4 4 Sample Output 4 4 4 4  

import java.util.Scanner;
public class Main {
	public static int f(int n, int m, int x)
	{
		return n * x / m;
	}
	public static void main(String[] args) {
        Scanner in = new Scanner(System.in); 
        int t, i, j, n, m, s;
        t = in.nextInt();
        for(i = 1; i <= t; i++)
        {
        	n = in.nextInt();
        	m = in.nextInt();
        	s = 0;
        	for(j = 1; j <= m - 1; j++)
        	{
        		s += (int)f(n, m, j);
        	}
        	s = m * n - 2 * s;
        	System.out.println(s);
        }
        in.close();
    }
}