NEFU84——五指山(Exgcd)
生活随笔
收集整理的這篇文章主要介紹了
NEFU84——五指山(Exgcd)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
傳送門
?
這不是Exgcd的板子嗎?
?
可以得出方程:
?
?
我們只需要套用Exgcd
?
求出最小正整數解就是了
?
#include<bits/stdc++.h> using namespace std; inline int read(){char ch=getchar();int res=0;while(!isdigit(ch))ch=getchar();while(isdigit(ch)) res=(res<<3)+(res<<1)+(ch^48),ch=getchar();return res; } #define ll long long ll exgcd(ll a,ll b,ll &x,ll &y){if(b==0){x=1,y=0;return a;}ll d=exgcd(b,a%b,x,y);ll z=x;x=y,y=z-y*(a/b);return d; } ll d,x,y,a,s,b,c,z; int main(){int T;cin>>T;while(T--){cin>>b>>a>>s>>d;int z=exgcd(a,b,x,y);x=x*(d-s)/z;if((d-s)%z) cout<<"Impossible"<<'\n';else cout<<(x%(b/z)+(b/z))%(b/z)<<'\n';}}?
轉載于:https://www.cnblogs.com/stargazer-cyk/p/10366437.html
總結
以上是生活随笔為你收集整理的NEFU84——五指山(Exgcd)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sed编辑器: 非交互
- 下一篇: 如何让SQLServer的 itemNu