zjy1412 @ 2019-09-18 21:35:59
以下是我的代码,可能有点杂(考虑了负数),不过luogu就是过不去,改了好久了,求助!!!```cpp
using namespace std; int x[2001],y[2001],ans[4000001]; bool fu=true; int main(){ int nx=0,ny=0,rem,nans=0; char a; a=getchar(); while(a!='\n'){ if(a==' '){a=getchar(); continue;} if(a=='-')fu=!fu; else{ nx++; x[nx]=a-48;} a=getchar(); } for(int i=1;i<=nx/2;i++){ swap(x[i],x[nx-i+1]); } a=getchar(); while(a!='\n'&&a!=' '){ if(a=='-')fu=!fu; else { ny++; y[ny]=a-48;} a=getchar(); } for(int i=1;i<=ny/2;i++){ swap(y[i],y[ny-i+1]); } for(int i=1;i<=nx;i++) for(int t=1;t<=ny;t++){ rem=0; ans[t+i-1]=ans[t+i-1]+x[i]*y[t]; if(ans[t+i]>=10){rem=ans[t+i-1]/10; ans[t+i-1]%=10; } ans[t+i]=ans[t+i]+rem; } for(int i=1;i<=nx+ny+1;i++){ if(ans[i]>=10){ans[i+1]=ans[i+1]+ans[i]/10; ans[i]%=10; } if(ans[i]>0)nans=i; } if(nans==0){ cout<<0; return 0;} if(!fu)cout<<"-"; for(int i=nans;i>=1;i--){ cout<<ans[i];} return 0; }
by andy1128 @ 2019-09-18 21:38:16
挤一块了
by zjy1412 @ 2019-09-18 21:38:24
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int x[2001],y[2001],ans[4000001];
bool fu=true;
int main(){
int nx=0,ny=0,rem,nans=0;
char a;
a=getchar();
while(a!='\n'){
if(a==' '){a=getchar();
continue;}
if(a=='-')fu=!fu;
else{
nx++;
x[nx]=a-48;}
a=getchar();
}
for(int i=1;i<=nx/2;i++){
swap(x[i],x[nx-i+1]);
}
a=getchar();
while(a!='\n'&&a!=' '){
if(a=='-')fu=!fu;
else
{
ny++;
y[ny]=a-48;}
a=getchar();
}
for(int i=1;i<=ny/2;i++){
swap(y[i],y[ny-i+1]);
}
for(int i=1;i<=nx;i++)
for(int t=1;t<=ny;t++){
rem=0;
ans[t+i-1]=ans[t+i-1]+x[i]*y[t];
if(ans[t+i]>=10){rem=ans[t+i-1]/10;
ans[t+i-1]%=10;
}
ans[t+i]=ans[t+i]+rem;
}
for(int i=1;i<=nx+ny+1;i++){
if(ans[i]>=10){ans[i+1]=ans[i+1]+ans[i]/10;
ans[i]%=10;
}
if(ans[i]>0)nans=i;
}
if(nans==0){
cout<<0;
return 0;}
if(!fu)cout<<"-";
for(int i=nans;i>=1;i--){
cout<<ans[i];}
return 0;
}
by zjy1412 @ 2019-09-18 21:38:55
@andy1128 重发了
by _FILARET_ @ 2019-09-18 21:40:32
MarkDown的作用不是强调头文件的重要性
by QQ893531942 @ 2019-09-18 21:45:02
getchar令人恐慌我太弱了不会用
by zjy1412 @ 2019-09-18 21:48:08
@QQ893531942 getchar是不是在luogu里有问题?
by zjy1412 @ 2019-09-18 21:48:59
@deadpool123 不好意思 已重发
by QQ893531942 @ 2019-09-18 21:52:14
我不知道,但我用getchar经常爆0,一定是我写错了
\n改成\r?
by _Camille_ @ 2019-09-18 21:52:43
print(int(input())*int(input())) 你值得拥有
by zjy1412 @ 2019-09-18 21:56:53
@QQ893531942 你也是自己测过得了吗