手こずったけど辛うじてFA。
http://yukicoder.me/problems/703
問題
定数が与えられる。
4変数からなる以下の連立方程式を考える。
であるとき、はともに実数か、それとも虚数を含むか判定せよ。
解法
最後の式がヒントになっている。
次数が合うようにいくつか式を掛けたりしてみると以下の式ができる。
こうすると、、であることがわかる。
二次方程式の解と係数の関係を思い出すと、このは方程式の書いてあることがわかる。
よって判別式が非負ならは実数、負なら虚数であると判定できる。
ll C[5]; void solve() { int i,j,k,l,r,x,y; string s; FOR(i,4) cin>>C[i+1]; ll X=C[1]*C[3]-C[2]*C[2]; ll Y=C[1]*C[4]-C[2]*C[3]; ll Z=C[2]*C[4]-C[3]*C[3]; if(Y*Y-4*X*Z>=0) _P("R\n"); else _P("I\n"); }
まとめ
コードは非常に単純なのよね。