CT - Counting triangles

Tác giả: khuc_tuan

Ngôn ngữ: Java

import java.util.*;
import java.io.*;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int ntest = sc.nextInt();
		for(int test=1;test<=ntest;++test) {
			int m = sc.nextInt();
			int n = sc.nextInt();
			long result = 0;
			for(int i=-m;i<=m;++i)
				for(int j=-n;j<=n;++j) {
					if(i!=0 || j!=0) {
						int u = j;
						int v = -i;
						int minx = Math.min( i, u); minx = Math.min( minx, 0);
						int maxx = Math.max( i, u); maxx = Math.max( maxx, 0);
						
						int miny = Math.min( j, v); miny = Math.min( miny, 0);
						int maxy = Math.max( j, v); maxy = Math.max( maxy, 0);
						
						if(maxx - minx <= m && maxy - miny <= n) 
							result += (m - (maxx - minx) + 1) * (n - (maxy - miny) + 1);
					}
				}
			System.out.println(result);
		}		
	}
}

Download