C.ライン
試験当たりの制限時間:1秒
テストごとのメモリ制限
256メガバイト
入力
標準入力
出力
標準出力
平面上の線は、方程式によって記述される アックス + により + C 座標が整数であるから=あなたはこの線上の任意の点を見つけることである0、 5・10 ^ - 18に 5×10 ^ 18包括的な、またはそれにこのような点が存在しないことを知ります。
入力
最初の行は三つの整数含ま A、 B 及び C ( - 2・10 ^ 9≤ A、 B、 C ≤2・10 ^ 9) -ライン方程式の係数に対応します。それは、それが保証されて A ^ 2 + B ^ 2> 0を。
出力
必要な点が存在する場合、出力の座標、そうでなければ出力 -1。
例
入力
2 5 3
出力
-3 6
exgcdテンプレートタイトル。式cでフォーム斧+のソリューションを求めてexgcd =特定の溶液ベースの参照を得られた溶液によって得ることができます。
#include <ビット/ STDC ++ H> 使用して 名前空間STDを、 typedefの長い 長いLL。 LLのexgcd(-1,11,11-のB、LL&X&LL Y) { LLのD = 。 もし(!B = 0 ){ D = GCD(B、%のB、Y、X)。 Y - =(A / B)* X。 } 他 {X = 1 ; Yが= 0 ;} 戻りD。 } int型のmain() { LL、B、C、X、Y。 CIN >> A >> B >> C。 LL D =exgcd(A、B、X、 Y); // シークは= GCD(によって斧+である B) 溶液 IF(!Dの%= C 0)<< COUT " -1 \ N- " ; // cはDの複数のない解決策ではない場合は 他の X *(C / D)<< - COUT << " " << - Y *(C / D)<< ENDL; = GCDによって//方程式斧+(A 、B)、C / GCDによって両側(B)しながら 、 別の溶液を得るための唯一のXB、Y + Aは、 戻り 0 ; }