336 条题解
-
0yali-v LV 9 @ 2009-09-24 13:25:39
终于过了~~~~~~~~
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 478ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:478ms#include
char Str[10010];long Alen,Blen,L,A[10010],B[10010],Ans[20020];
int main()
{
long a,b;
scanf("%s",&Str);Alen=strlen(Str);
for(a=0;a -
02009-09-21 18:03:37@
好险
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 447ms -
02009-09-20 12:30:11@
program ex;
var s1,s2,s:ansistring;
i,j,p,q,a,b:longint;
d:array[1..100000000] of integer;
begin
readln(s1);readln(s2);
if length(s2) -
02009-09-15 21:39:42@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 150ms
├ 测试数据 04:运行超时...
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|--
Unaccepted 有效得分:75 有效耗时:150ms
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|--
Who can tell me what is wrong with my program ?
If you can,I will be very happy.Please tell me the mistakes.
Thank you very much!
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|--
(Here is my program:)
program ex;
var s1,s2,s:ansistring;
i,j,p,q,a,b:longint;
d:array[1..100000000] of integer;
begin
readln(s1);readln(s2);
if length(s2) -
02009-09-05 17:12:42@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms哈啊哈 一亿进制=0MS~~
要注意一开始的进制转换 -
02009-09-03 20:57:12@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 541ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:541ms最简单的高精.
没有压位.
一次ac#include
using namespace std;
int l1,l2,a[10010],b[10010],c[20020];
string st1,st2;
void solve()
{
int k;
for (int i=1;i=1;i--)
cout st1; cin >> st2;
l1=st1.length(); l2=st2.length();
for (int i=0;i -
02009-08-28 20:50:24@
不用压位高精照样过
改一改就行了 -
02009-08-26 16:24:12@
read要用ansistring;
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:运行超时...
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:75 有效耗时:0ms各位看看这个超时
p:=length(t1);
q:=length(t2);
for i:=1 to p do
a[i]:=ord(t1[p+1-i])-ord('0');
for i:=1 to q do
b[i]:=ord(t2[q+1-i])-ord('0');
for i:=1 to p do
for j:=1 to q do begin
k:=i+j-1;
ans[k]:=ans[k]+a[i]*b[j];
ans[k+1]:=ans[k+1]+ans[k] div 10;
ans[k]:=ans[k] mod 10;
end;
i:=p+q;
while ans[i]=0 do i:=i-1;
for j:=i downto 1 do write(ans[j]);
writeln; -
02009-08-26 15:25:40@
大家要注意啊~~题目非常猥琐啊~~位数是10000位内。普通的string会牺牲啊!!一定要用ansistring~!
-
02009-08-20 20:25:42@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 494ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:494ms不懂万进制,不懂压位,就用了个普通高精乘法,好险!
#include
#include
char x='0',str1[100001],str2[100001],str[100001];
long i,j,l1,l2,al,p,h1[100001],h2[100001],ans[100020001];
int jw(long h[])
{
int c=0;
for(i=1;i0)
{
al++;
h[al]=c%10;
c=c/10;
}
}
int main()
{scanf("%s\n%s",str1,str2);
l1=strlen(str1);
l2=strlen(str2);
for(i=0;i -
02009-08-19 21:45:55@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:运行超时...
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:75 有效耗时:0ms -
02009-08-15 20:23:40@
1位高精,好事494
-
02009-08-15 20:19:48@
AC once!
-
02009-08-12 22:48:23@
MyProger\Prog12689.cpp:1:19: warning: extra tokens at end of #include directive C:/Vijos/Compiler/GCC/bin/../lib/gcc/mingw32/3.4.2/../../../libmingw32.a(main.o)(.text+0x106):main.c: undefined reference to `WinMain@16' collect2: ld returned 1 exit status
为撒编译不过捏
-
02009-08-11 13:08:37@
编译通过...
├ 测试数据 01:答案正确... 728ms
├ 测试数据 02:答案正确... 728ms
├ 测试数据 03:答案正确... 728ms
├ 测试数据 04:答案正确... 728ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:2912ms
好稳定的算法...... -
02009-08-07 09:25:17@
随便写吧~~~~百进制乘法都可以AC....
-
02009-08-04 15:05:37@
各位小心啊!
记得用ansistring啊!
我就是因为这个改了2次程序
提交了4次!
我的通过率啊!
T_T! -
02009-07-31 14:53:01@
咱的高精库。。。
#include
using namespace std;
class INT
{
private:
#define MAX(a,b) ((a)>(b)?(a):(b))
#define MIN(a,b) ((a)(b)?(a):(b))
#define min(a,b) ((a) (INT a,INT b)
{
if (a.data[0]>b.data[0]) return true;
if (a.data[0]=1; i--)
if (a.data[i]>b.data[i]) return true;
else if (a.datai
{
INT _b;
_b = b;
return a>_b;
}
friend bool operator > (int a,INT b)
{
INT _a;
_a = a;
return _a>b;
}
friend bool operator >= (INT a,INT b)
{
if (a.data[0]>b.data[0]) return true;
if (a.data[0]=1; i--)
if (a.data[i]b.data[i]) return true;
return true;
}
friend bool operator >= (INT a,int b)
{
INT _b;
_b = b;
return a>_b;
}
friend bool operator >= (int a,INT b)
{
INT _a;
_a = a;
return _a>b;
}
friend bool operator == (INT a,INT b)
{
if (a.data[0]!=b.data[0]) return false;
for (int i = 1; idata[0]++;
}
this->data[0] = (this->data[0]data[0]-1;
return *this;
}
INT operator += (INT b)
{
*this = *this+b;
return *this;
}
INT operator += (int b)
{
*this = *this+b;
return *this;
}
INT operator -= (INT b)
{
*this = *this-b;
return *this;
}
INT operator -= (int b)
{
*this = *this-b;
return *this;
}
INT operator *= (INT b)
{
*this = *this*b;
return *this;
}
INT operator *= (int b)
{
*this = *this*b;
return *this;
}
INT operator ++()
{
*this += 1;
return *this;
}
INT operator --()
{
*this -= 1;
return *this;
}
};
int main()
{
INT a,b;
cin>>a;
cin>>b;
cout -
02009-07-29 12:46:29@
数组估计不足,竟死这么多次
-
02009-07-24 08:47:30@
万进制乘法
领教了= =
procedure mul;
var i, j: longint;
begin
for i:= 1 to la do
for j:= 1 to lb do
begin
inc(c,x[i]*y[j]);
inc(c,c div base);
c:=c mod base;
end;
lc:=la+lb;
while (lc>1) and (c[lc]=0) do dec(lc);
end;procedure print;
var i: integer;
begin
write(c[lc]);
for i:= lc-1 downto 1 do
begin
if c[i]