POJ 1061カエルの予定(exgcd)

ああ...

 

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

 

X + K *m≡y+ K×n個(MOD L)2匹のカエルは確かに満足を満たす場合

            X + K * M-(Y + K×n個)= L *は

            K *(nm)はL * = XYを-s
 
それは、A * X + B * Y = C変形し、線形方程式は、exgcd型によって解決されます。
先= GCDによって斧+(B)
G cで割り切れる分析
次いで、溶液を(X + K * B / G)であり、(YK * A / G)
答えはそう扱われることを、非負必要なことに注意してください...
 

ACコード:

1の#include <cstdioを>
 2の#include <iostreamの>
 3  
4  使用して 名前空間STDを、
5  
6インラインボイド exgcd(長い 長い長い 長い B、長い 長い&G、長い ロング・X、長い 長いY){
 7      であれば {G =(B!)。X = 1Y = 0 ;}
 8      そう {exgcd(B、%のB、G、Y、X)。Y - = X *(A / B);} 
 9  }
 10  
11  INTメイン(){
 12      長い 長いXX、YY、L、M、N、A、B、C、G、X、Y。
13      のscanf(" %LLD%LLD%LLD%LLD%LLD "、&​​XX、YY&、&M、&N、&L)。
14      = N - M。B = L。C = XX - YY。
15      exgcd(A、B、G、X、Y)。// (NM)* X +のL * Y = XX - YY 
16      であれば(C%G)のprintf(" 不可の\ n " );
17      {
 18          C / A = G。B / A = G。
19          のprintf(" %LLDする\ n "、(X%のB * Cは%のB + B)%のB)。//非負処理
20      }
 21が     戻り 0 ;
 22です }
ACコード

 

おすすめ

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