はまやんはまやんはまやん

hamayanhamayan's blog

RGB Boxes [diverta 2019 Programming Contest B]

https://atcoder.jp/contests/diverta2019/tasks/diverta2019_b

解説

https://atcoder.jp/contests/diverta2019/submissions/5345023

b=N-r-gであるため、r,gが決まればbも決まる。
よって、r,gを全探索することで、候補となる(r,g,b)を列挙できる。
候補が条件を満たすかは、r,g,bがそれぞれR,G,Bの倍数であるかを判定すればいい。

int R, G, B, N;
//---------------------------------------------------------------------------------------------------
void _main() {
	cin >> R >> G >> B >> N;
 
	int ans = 0;
	rep(r, 0, N + 1) rep(g, 0, N + 1) {
		int b = N - r - g;
		if (0 <= b and r % R == 0 and g % G == 0 and b % B == 0) ans++;
	}
	cout << ans << endl;
}