http://tenka1-2017.contest.atcoder.jp/tasks/tenka1_2017_c
解法
http://tenka1-2017.contest.atcoder.jp/submissions/1637159
h,n,w<=3500なので、このうち、h,nの組み合わせを全探索して考える。
h,nを固定すると、式を変形することでwを導くことができる。
w = (4kn-Nn-Nh) / (Nhn)
あとはwが[1,3500]の範囲にあって整数であれば答え。
typedef long long ll; ll N; //--------------------------------------------------------------------------------------------------- void _main() { cin >> N; rep(h, 1, 3501) rep(n, 1, 3501) { // 4/N = 1/h + 1/n + 1/w ll up = N * h * n; ll dow = 4LL * h * n - N * n - N * h; if (dow == 0) continue; if (up % dow != 0) continue; ll w = up / dow; if (0 < w && w <= 3500) { printf("%d %d %lld\n", h, n, w); return; } } }