110 条题解
-
0Mato战胜xxwzy LV 9 @ 2009-07-15 09:24:36
最后一个点怎么回事?
-
02009-07-13 15:39:37@
这题是纯数学,设k天后两人相遇,则问题变成了求同余方程x+kn≡y+km (mod L)。
稍微整理一下,得到k(n-m)≡y-x (mod L) 的形式,其中k是未知数,所以就变成了
求形如 ax≡b(mod n)的最小正整数解x。在处理时,无解直接就输出impossible,同时需要注意变量的正负和上限。
答案的4开始我也搞不清,后来才明白,其实是向右走,不是向左走⊙﹏⊙ -
02009-07-10 20:36:46@
晕,向西竟向右走...
-
02009-07-06 20:16:58@
n*k mod l +y=m*k mod l +x?
-
02009-07-01 08:58:35@
var
a,ans,b,i,l,m,n,t1,t2,t3,temp,x,y:int64;
procedure swap(var a,b:int64);
var
temp:longint;
begin
temp:=a;
a:=b;
b:=temp;
end;
function exgcd(a,b:int64;var t1,t2:int64):int64;
var
temp:longint;
begin
if b=0 then
begin
exgcd:=a;
t1:=1;
t2:=0;
exit;
end;
exgcd:=exgcd(b,a mod b,t1,t2);
temp:=t1;
t1:=t2;
t2:=temp-(a div b)*t2;
end;
begin
readln(a,b,m,n,l);
a:=a mod l;
b:=b mod l;
m:=m mod l;
n:=n mod l;
if m -
02009-06-17 20:21:20@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 916ms
├ 测试数据 07:答案正确... 41ms
├ 测试数据 08:答案正确... 931ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:1888ms
数学题……不过时间怎么这么险啊…… -
02009-04-26 16:04:51@
切记要INT64啊!
-
02009-04-06 18:34:37@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案错误... ├ 标准行输出
├ 错误行输出
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:90 有效耗时:0ms
最后一组数据是怎么回事啊!!!!!!!!! -
02009-02-08 21:41:32@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms一遍秒杀
这题是纯数学,设k天后两人相遇,则问题变成了求同余方程x+kn≡y+km (mod L)。
稍微整理一下,得到k(n-m)≡y-x (mod L) 的形式,其中k是未知数,所以就变成了
求形如 ax≡b(mod n)的最小正整数解x。在处理时,无解直接就输出impossible,同时需要注意变量的正负和上限。
答案的4开始我也搞不清,后来才明白,其实是向右走,不是向左走⊙﹏⊙ -
02009-01-02 18:09:21@
答案的4是怎么来的
-
02008-12-31 13:40:50@
竟然经度能比L大 无语中。。。。
-
02008-12-17 13:36:03@
#include
int main()
{
program aa;
var xx,yy,m,n,l,d,ans,t,tt,p,x,y,ttt:int64;
function egcd(a,b:int64;var x,y:int64):int64;
begin
if b=0 then
begin
egcd:=a;
d:=a;
x:=1;
y:=0;
end
else
begin
egcd(b,a mod b,x,y);
t:=x;//x'
x:=y;//y'
y:=t-(a div b)*x;
end;
end;
begin
readln(xx,yy,m,n,l);
ans:=-1;
tt:=(yy-xx) mod l;egcd(m-n,l,x,y);
if (tt mod d0) then begin writeln('Impossible'); halt;end;
x:=x*(tt div d);
x:=x-(x div l)*l;
while x0 do x:=x-l;
writeln(x);
end.
return 0;
} -
02008-12-13 21:17:34@
program aa;
var xx,yy,m,n,l,d,ans,t,tt,p,x,y,ttt:int64;
function egcd(a,b:int64;var x,y:int64):int64;
begin
if b=0 then
begin
egcd:=a;
d:=a;
x:=1;
y:=0;
end
else
begin
egcd(b,a mod b,x,y);
t:=x;//x'
x:=y;//y'
y:=t-(a div b)*x;
end;
end;
begin
readln(xx,yy,m,n,l);
ans:=-1;
tt:=(yy-xx) mod l;egcd(m-n,l,x,y);
if (tt mod d0) then begin writeln('Impossible'); halt;end;
x:=x*(tt div d);
x:=x-(x div l)*l;
while x0 do x:=x-l;
writeln(x);
end. -
02008-12-06 14:16:42@
-
02008-11-07 20:09:06@
第十个点为何wa!!!
var xx,yy,m,n,l,d,ans,t,tt,p,x,y,ttt:int64;
function egcd(a,b:int64;var x,y:int64):int64;
begin
if b=0 then
begin
egcd:=a;
d:=a;
x:=1;
y:=0;
end
else
begin
egcd(b,a mod b,x,y);
t:=x;//x'
x:=y;//y'
y:=t-(a div b)*x;
end;
end;
begin
readln(xx,yy,m,n,l);
ans:=-1;
tt:=(yy-xx) mod l;egcd(m-n,l,x,y);
if (tt mod d0) then begin writeln('Impossible'); halt;end;
x:=x*(tt div d);
x:=x-(x div l)*l;
while x0 do x:=x-l;
writeln(x);
end. -
02008-11-04 19:46:57@
Flag Accepted
题号 P1009
类型(?) 数论 / 数值
通过 444人
提交 3544次
通过率 13%
难度 2好囧啊。。。。。
-
02008-10-29 00:46:27@
编译通过...
├ 测试数据 01:运行时错误...|错误号: 1999999999
├ 测试数据 02:运行时错误...|错误号: 124
├ 测试数据 03:运行时错误...|错误号: 2555
├ 测试数据 04:运行时错误...|错误号: 56
├ 测试数据 05:运行时错误...|错误号: 1675670875
├ 测试数据 06:运行时错误...|错误号: 218799629
├ 测试数据 07:运行时错误...|错误号: 1048155340
├ 测试数据 08:运行时错误...|错误号: 1164530415
├ 测试数据 09:运行时错误...|错误号: 141786758
├ 测试数据 10:运行时错误...|错误号: 326330800 -
02008-10-08 18:39:01@
[ALIGN=center]文字段落[/ALIGN]
[code]
var a,b:longint;
begin
read(a,b);
writeln('a+b');
end.
[/code] -
02008-10-03 20:51:44@
这个不定方程有系数的负的,那最大公约数是什么?负的?最大公约数的定义不是在自然数之间么?如果定义域是实数集,那正数和负数的最大公约数符号又是什么?---|--
恼人的数论啊!!!!!!!!!!!~&~&!&~&!&~&~&&~~终于-finally-in the end-at last我终于AC了,活生生地把这题的通过率从13拉到12,AC后又拉回13,自己的通过率降了3点,啊
-
02008-09-24 19:12:20@
编译通过...
├ 测试数据 01:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 02:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 03:运行超时...
├ 测试数据 04:运行超时|格式错误...
├ 测试数据 05:运行超时...
├ 测试数据 06:运行超时...
├ 测试数据 07:运行超时...
├ 测试数据 08:运行超时...
├ 测试数据 09:运行超时...
├ 测试数据 10:运行超时...
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:0 有效耗时:0msvar
t,i,j:longint; x,y,m,n,l:qword;
begin
readln(x,y,m,n,l);
if m=n then begin write('Impossible');halt;end;
if m>n
then begin
t:=y-x;
j:=m-n;
repeat
if t-1000000*j>=0
then begin inc(i,1000000);t:=t-1000000*j;end
else if t-100000*j>=0
then begin inc(i,100000);t:=t-100000*j;end
else if t-10000*j>=0
then begin inc(i,10000);t:=t-10000*j;end
else if t-1000*j>=0
then begin inc(i,1000);t:=t-1000*j;end
else
if t-100*j>=0
then begin inc(i,100);t:=t-100*j;end
else begin inc(i); t:=t-j; end;
until t=0
then begin inc(i,1000000);t:=t-1000000*j;end
else if t-100000*j>=0
then begin inc(i,100000);t:=t-100000*j;end
else if t-10000*j>=0
then begin inc(i,10000);t:=t-10000*j;end
else if t-1000*j>=0
then begin inc(i,1000);t:=t-1000*j;end
else
if t-100*j>=0
then begin inc(i,100);t:=t-100*j;end
else begin inc(i); t:=t-j; end;
until t