13 条题解
-
0黑暗之神-赵 LV 10 @ 2012-11-03 15:27:34
├ 测试数据 01:答案正确... (0ms, 412KB)
├ 测试数据 02:答案正确... (0ms, 412KB)
├ 测试数据 03:答案正确... (0ms, 412KB)
├ 测试数据 04:答案正确... (0ms, 412KB)
├ 测试数据 05:答案正确... (0ms, 412KB)
├ 测试数据 06:答案正确... (0ms, 412KB)
├ 测试数据 07:答案正确... (0ms, 412KB)
├ 测试数据 08:答案正确... (0ms, 412KB)
├ 测试数据 09:答案正确... (0ms, 412KB)
├ 测试数据 10:答案正确... (0ms, 412KB)
├ 测试数据 11:答案正确... (0ms, 412KB)
├ 测试数据 12:答案正确... (0ms, 412KB)
├ 测试数据 13:答案正确... (0ms, 412KB)
├ 测试数据 14:答案正确... (0ms, 412KB)
├ 测试数据 15:答案正确... (0ms, 412KB)
├ 测试数据 16:答案正确... (0ms, 412KB)
├ 测试数据 17:答案正确... (0ms, 412KB)
├ 测试数据 18:答案正确... (0ms, 412KB)
├ 测试数据 19:答案正确... (0ms, 412KB)
├ 测试数据 20:答案正确... (0ms, 412KB)---|---|---|---|---|---|---|---|-
Accepted / 100 / 0ms / 412KB
简单的找规律 -
02012-10-06 19:16:50@
第一次写题解。
var
x,y:int64;
begin
read(x,y);
if x>=0 then
if (y>-x) and (y=0 then
writeln(sqr(2*y)-y-x) else
writeln(sqr(2*-y+1)+y+x-1) else
if (y>=x) and (y=0 then
writeln(sqr(2*y)-y-x) else
writeln(sqr(2*-y+1)+y+x-1);
end. -
02012-09-22 02:02:42@
最后一个点过不了,求助!!!
var x,y,i,n,m:longint;
ans:array[0..100]of int64;procedure carrybit;
var i:longint;
begin
for i:=2 to m do
begin
ans[i]:=ans[i]+(ans div 10);
ans:=ans mod 10;
end;
while ans[m]>=10 do
begin
inc(m); ans[m]:=ans[m]+(ans[m-1] div 10);
ans[m-1]:=ans[m-1] mod 10;
end;
end;function max(l,r:longint):longint;
begin
if l>r then exit(l) else exit(r);
end;begin
fillchar(ans,sizeof(ans),0);
readln(x,y); n:=max(abs(x),abs(y)); m:=0;
while n0 do
begin
inc(m); ans[m]:=n mod 10; n:=n div 10;
end;
n:=max(abs(x),abs(y));
for i:=1 to m do ans[i]:=ans[i]*(n-1)*4;
carrybit;
if (x=0)and(y>0) then ans[1]:=ans[1]+3*n else
if (x=0)and(y0) then ans[1]:=ans[1]+n else
if (y=0)and(x0)and(y>0) then ans[1]:=ans[1]+2*n-x+y else
if (x>0)and(y -
02012-08-21 09:46:22@
为毛把double改成__int64就过了 ?!
-
02012-08-20 15:41:54@
#include
#include
using namespace std;
__int64 x,y,maxlen,ans;
__int64 ab(__int64 a)
{
if(ab) return a;
else return b;
}
int main()
{
scanf("%I64d%I64d",&x,&y);
maxlen=max(ab(x),ab(y));
ans=(1+maxlen)*maxlen*4;
//printf("%lld\n",ans);
if(ab(x) -
02012-08-19 15:48:27@
Flag Accepted
题号 P1712
类型(?) 其它
通过 68人
提交 128次
通过率 53%
难度 0第68个,挺吉利的
Accepted / 100 / 397ms / 580KB
就是找规律,方法不止一种 -
02012-08-19 11:49:16@
果然我这种弱逼只会做这种题
-
02012-08-19 11:46:28@
完全O(1)复杂度和long long的精度啊。。不懂楼下在搞些什么。。
#include
#include
#include
using namespace std;
typedef long long ll;
ll x,y,maxr,ans;
inline ll sum(ll n)
{return n*(n+1)/2;}
int main()
{
cin >> x >> y;
maxr=max(abs(x),abs(y));
if(maxr==y) ans=2*sum(y*2-1)+y-x;
else if(maxr==-y) ans=2*sum((-y)*2)+x-y;
else if(maxr==x) ans=sum(x*2-1)+sum((x-1)*2)+y+(x-1);
else if(maxr==-x) ans=sum((-x)*2)+sum((-x)*2-1)+(-x)-y;
cout -
02012-08-19 13:19:58@
晕,数据范围搞错了,
(10^8)^2=10^16还是在int64内。没意识到,写了差不多一个钟的高精度。。。 -
02012-08-19 08:19:44@
为什么O(1)还是不能0ms呢?
-
02012-08-19 17:35:17@
C语言表示用long long 的话50分,但我换成VS的标准用__int64的话就AC了= =,表示第一题还坑了我20分= =,共坑70分
详情见这里= =
http://blog.csdn.net/shiwei408/article/details/7463476这次用是WINDOWS下的GCC编译,自然就被坑了= =
-
02012-08-19 03:52:51@
这。。。。通过率300% 有够吓人的
-
02012-08-19 03:25:00@
找规律o(1)秒过
- 1