1 条题解
-
2
对题目进行简单转化,可以发现就是求k * p≡t (mod n),对于这种不定方程,可以通过ex_gcd求出k * p ≡ 1(mod n),再乘上t即可。
#include<bits/stdc++.h> using namespace std; long long ex_gcd(long long a,long long b,long long& x,long long& y) { if(!b) { x=1,y=0; return a; } long long ans=ex_gcd(b,a%b,x,y); long long t=x; x=y; y=t-(a/b)*y; return ans; } long long inv(long long a,long long b) { long long x,y; long long g=ex_gcd(a,b,x,y); return (x%b+b)%b; } int main() { //freopen("light.in","r",stdin); //freopen("light.out","w",stdout); long long n,p,t; cin>>n>>p>>t; cout<<inv(p,n)%n*t%n; return 0; }
- 1
信息
- ID
- 948
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 16
- 已通过
- 5
- 上传者