Skip to content

Latest commit

 

History

History
26 lines (19 loc) · 732 Bytes

022.md

File metadata and controls

26 lines (19 loc) · 732 Bytes

022 - Cubic Cake (★2)

解答

最大公約数を求めるために、C++ 標準ライブラリの std::gcd(x, y) を使います。

#include <iostream>
#include <numeric> // std::gcd()

int main()
{
	// ケーキの幅 A cm, 奥行き B cm, 高さ C cm
	long long A, B, C;
	std::cin >> A >> B >> C;

	// 立方体ピースの一辺の長さ = A, B, C の最大公約数
	const long long d = std::gcd(std::gcd(A, B), C);

	// 合計切断回数 = 幅に関する切断回数 + 奥行きに関する切断回数 + 高さに関する切断回数
	const long long a = (A / d - 1) + (B / d - 1) + (C / d - 1);

	// 解答を出力
	std::cout << a << '\n';
}