VTRI - Triangles

Tác giả: khuc_tuan

Ngôn ngữ: Java

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int x = sc.nextInt();
		int y = sc.nextInt();
		int s = sc.nextInt();
		long result = 0;
		for (int i = -x; i <= x; ++i)
			for (int j = -y; j <= y; ++j) {
				for (int u = -x; u <= x; ++u)
					if (i == 0 || (u * j - 2 * s) % i == 0 || (u * j + 2 * s) % i == 0)
						for (int v = -y; v <= y; ++v) {
							if (Math.abs(u * j - i * v) == 2 * s) {
								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 <= x && maxy - miny <= y)
									result += (x - (maxx - minx) + 1) * (y - (maxy - miny) + 1);
							}
						}
			}
		System.out.println(result / 6);
	}
}

Download