結果
問題 | No.328 きれいな連立方程式 |
ユーザー | koyumeishi |
提出日時 | 2015-12-21 11:28:12 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 727 bytes |
コンパイル時間 | 523 ms |
コンパイル使用メモリ | 60,960 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-18 18:00:58 |
合計ジャッジ時間 | 1,859 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 31 |
ソースコード
#include <vector> #include <cstdio> #include <algorithm> #include <iostream> using namespace std; // http://www.wolframalpha.com/input/?i=solve[+c1%3Dp1%2Bp2%2C++c2%3Dp1*z1%2Bp2*z2%2C++c3%3Dp1*z1^2%2Bp2z2^2%2C++c4%3Dp1*z1^3%2Bp2*z2^3] long long pow_(long long x, long long y){ if(x==0) return 0; long long ret = 1; while(y){ if(y&1) ret *= x; x *= x; y >>= 1; } return ret; } int main(){ vector<long long> c(4); for(auto& v: c) cin >> v; long long a = pow_(c[0],2) * pow_(c[3],2) - 6*c[0]*c[1]*c[2]*c[3] + 4*c[0]*pow_(c[2],3) + 4*pow_(c[1],3)*c[3] - 3*pow_(c[1],2)*pow_(c[2],2); if(a>0){ puts("R"); return 0; } a = c[0]*c[2] - pow_(c[1],2); if(a>0){ puts("R"); return 0; } puts("I"); return 0; }