问题描述
- poj 2891 的源代码和站内线上解释
- poj 2891 的源代码和站内线上解释,有解释才给分啊。。
解决方案
#include
using namespace std;
void gcd(__int64 a__int64 b__int64 &d__int64 &x__int64 &y)
{
if(b==0)
{
x=1;
y=0;
d=a;
return ;
}
gcd(ba%bdyx);
y-=x*(a/b);
return ;
}
int main()
{
__int64 b0bbm0mxpb;
int ik;
while(scanf(""%d""&k)==1)
{
int ok=1;
m=1pb=0;
for(i=0;i<k;++i)
{
scanf(""%I64d%I64d""&m0&b0);
if(ok==0)
continue;
__int64 xyd;
gcd(mm0dxy);
if((pb-b0)%d!=0)
{
ok=0;
continue;
}
x*=(b0-pb)/d;
__int64 newm=m/d*m0;
__int64 b=m0/d;
x=(x%b+b)%b;
bb=(pb+x*m)%newm;
m=newm;
pb=bb;
}
ok?printf(""%I64dn""bb):printf(""-1n"");
}
return 0;
}
要解释站内联系