kmjp's blog

競技プログラミング参加記です

Codeforces #384 Div2 C. Prime Swaps

Hackされたので同じ内容でHackし返すことでスコアを稼ぎ、なんか妙に良い結果になった。
http://codeforces.com/contest/743/problem/C

問題

正整数nが与えられる。
 \displaystyle \frac{2}{n} = \frac{1}{x} + \frac{1}{y} + \frac{1}{z}を満たす相異なる正整数x,y,zの組が存在すればそれを答えよ。

解法

サンプルがヒントになっている。
n,(n+1),n(n+1)の3値を選べば、逆数和が2/nとなる。

なお、n=1の場合は解がない。x,y,zに1,2,3を代入しても11/6であり、2に至らない。

void solve() {
	int i,j,k,l,r,x,y; string s;
	
	cin>>x;
	if(x>=2) _P("%d %d %d\n",x,x+1,x*(x+1));
	if(x==1) _P("-1\n");
}

まとめ

1のケースをまんまと見逃してHackされたが、同じネタで5Hackできた。