POJ 2142残高(exgcd)

ああ...

 

トピックリンクします。http://poj.org/problem ID = 2142?

 

ACコード:

1の#include <cstdioを>
 2の#include <iostreamの>
 3  
4  使用して 名前空間STDを、
5  
6インラインINT _abs(INT X){
 7      場合(X < 0リターン - X。
8      リターンX。
9  }
 10  
11インラインボイド exgcd(int型int型 B、INT&G、INT&X、INTY){
 12      であれば {G =(B!)。X = 1; Y = 0 ;}
 13       {exgcd(B、%のB、G、Y、X)。Y - = X *(/ B);}
 14  }
 15  
16インラインボイドワーク(int型int型 B、INT C、INT&G、INT&X、INTY){
 17      exgcd(A、B、G、X 、Y);
18      X * = C / G。
19      int型 T = B / G。
20は      X =(X%でのT + T)%T。
21      、Y = _abs((* Xの- C)/ B)。
22  }
 23 
24  INT メイン(){
 25      int型A、B、C、X1、G、Y1、X2、Y2。
26      しばらく(〜のscanf(" %D%D%D "、&​​、&B、&C)){
 27          であれば(&& B && C!!!)ブレーク28          ワーク(A、B、C、G、X1、Y1)。
29          ワーク(B、C、G、X2、Y2)。
30          であれば(X1 + Y1 <X2 + Y2)のprintf(" %D%D \ n " 、X1、Y1)。
31          他ののprintf(" %D%D \ n " 、Y2、X2)。
32      }
 33      リターン 0 34 }
ACコード

 

おすすめ

転載: www.cnblogs.com/New-ljx/p/11515354.html