#include<bits/stdc++.h>
using namespace std;
constexpr int maxsize=2005;
struct bigint{
int f = 1,len=1,val[maxsize]={0};
void output(){
if (f==-1)putchar('-');
for (int i = len; i > 0; --i) {
putchar(val[i]+'0');
}
}
void input(){
char ch=getchar();
while (!isdigit(ch)&&ch!='-'){
ch=getchar();
}
if (ch=='-'){
f=-1;
ch=getchar();
}
string s;
s.push_back(ch);
while(isdigit(ch)){
ch=getchar();
s.push_back(ch);
}
len=s.length()-2;
for (int i = s.length()-1; i >= 0; i--){
val[s.length()-i-1]=s[i]-48;
}
}
bigint operator* (const bigint a){
bigint x;
if(a.f!=f){
x.f=-1;
}
x.len=a.len+len+1;
for (int i = 1; i <= a.len+1; ++i) {
for (int j = 1; j <= len+1; ++j) {
x.val[i+j-1]+=a.val[i]*val[j];
}
}
for (int i = 1; i < x.len; ++i) {
x.val[i+1]+=x.val[i]/10;
x.val[i]%=10;
}
while (x.val[x.len]==0&&x.len>1)x.len--;
return x;
}
};
int main(){
bigint a,b;
a.input(), b.input();
(a * b).output();
return 0;
}
最后一个点wa,输入,输出和程序输出如下: | 输入 | 101531212034312135033454561534406280763077512345456153440635546806460794209280763077512034312135033454561534406355478086704577355468064607942092807630775120343121350334545615344063554780867045776870635546806460794209280763077512345456153440635546806460794209280763077512034312135033454561534406355478045773554680646079420928076307751203431213503345456153440635547808670457768706355468064607867045776870635546800343121350334545611015312120343121350334545615344062807630775123454561534406355468064607942092807630775120343121350334545615344063554780867045773554680646079420928076307751203431213503345456153440635547808670457768706355468064607942092807630775123454561534406355468064607942092807630775120343121350334545615344063554780457735546806460794209280763077512034312135033454561534406355478086704577687063554680646078670457768706355468003431213503345456110153121203431213503345456153440628076307751234545615344063554680646079420928076307751203431213503345456153440635547808670457735546806460794209280763077512034312135033454561534406355478086704577687063554680646079420928076307751234545615344063554680646079420928076307751203431213503345456153440635547804577355468064607942092807630775120343121350334545615344063554780867045776870635546806460786704577687063554680034312135033454561 696545465468167657656275465464678617648648678280763077512345456153440635546806460794209280763077512034312135033454561534406355478086704577355468064607942092807630775120343121350334545615344063554780867045776870635542807630775123454561534406355468064607942092807630775120343121350334545615344063554780457768624780457735546806460794209280763077512034312135033454561534406355478086704577687063554680646792957978948924988696545465468167657656275465464678617648648678280763077512345456153440635546806460794209280763077512034312135033454561534406355478086704577355468064607942092807630775120343121350334545615344063554780867045776870635542807630775123454561534406355468064607942092807630775120343121350334545615344063554780457768624780457735546806460794209280763077512034312135033454561534406355478086704577687063554680646792957978948924988696545465468167657656275465464678617648648678280763077512345456153440635546806460794209280763077512034312135033454561534406355478086704577355468064607942092807630775120343121350334545615344063554780867045776870635542807630775123454561534406355468064607942092807630775120343121350334545615344063554780457768624780457735546806460794209280763077512034312135033454561534406355478086704577687063554680646792957978948924988 | | :----------- | :----------- | | 输出 | 70721105345987171769126957422645350653082882889970150475557923371354210623302873346141705044860815851036075142726582237169897279068239782989021474896213163837527625960930004707603092520559738204704017859938549776386175847407440796044487612297682786910723141687578853578108575613827793974006307282279293271044953291370907197844889904100863109260374989544508935673172198924930491825525768119047723666943120242749593891641120999030168438373341937055283539063121844442807058112841401120717166568800397102726112892895865079516083840122705179130670227254880487968270682995642680741721282944210313523821400779268283737839858339390511298526452397558943789854560467714173137085355452824278864306332527498287175951395767313471594754577824226582056395095256457716400231597719941385636785480709184414144026341692239970214264714650727689212728223137571640625872437310183749721325688859448226326907447728369770197090001346294026662181088130461709157996434332407505266104631456674488217450137090045435172822715578113252250093654203867430466820426943794721869703320972012780346555356075497652273865639520356326025187417699527605569415470240361133245489354889747241417385104447367949688903897133875312609010234999120462912219396196584375315375929433162393099689804297531481878594849771957013832288048685611920418947728791944695428076540421330871991693663843823272071705125394327592380392152537317660137010680168965861803503158406808833349199316266634499405219118978586835604483178395589189682646251445941974459829842852330814483191938386996117540068380774165188667301063913466919068255623130443549053388290857839933988812665008148277897619363756781049816385941453947471964573633501534297733697931647875665705748125678497201881457394891884307411950327177465385374467937079435975237022476645385630196257450191764369473496305700919757762373986254213151850068890500048326240696673585842746356152521656255312639531143257635869119043339492677698503346491927658772165655608998796775728636108762429934048133044473933193182499772753735502589036971537158340740912130150222264883344534774912899764357127170367202801283056335943876728863935459636347405555075510791494691883581250804630607880838377624460737671178398165035137911457363217803140053888576219053350712581494173218856681026953930215523152534490503255660900821163251460793024309740492134354089105238764123533599844745604547405165548326759277931134816334867829622125118209145223841071007800250069966433665748163708822329633632074852409991209189613248181252691716693291128336651713020979370312906895470268 | | 我的输出 | 70721105345987171769126957422645350653082882889970150475557923371354210623302873346141705044860815851036075142726582237169897279068239782989021474896213163837527625960930004707603092520559738204704017859938549776386175847407440796044487612297682786910723141687578853578108575613827793974006307282279293271044953291370907197844889904100863109260374989544508935673172198924930491825525768119047723666943120242749593891641120999030168438510354737055283539068107266512811737022463951121944654913954932984104194516738511912785577272880705179130670227254880487968270682995642680741721282944210313523821400779268283737839858339390511298526452397558943789854560467714173137085355452824278864306332527498287175951395767313471594754577824226582056395095256457716400231597719941385636785480709184414144026341692239970214264714650727689212728223137571640625872437310183749721325688859448226326907447728369770197090001346294026662181088130461709157996434332407505266104631456674488217450137090045435172822715578113252250093654203867430466820426943794721869703320972012780346555356075497652273865639520356326025187417699527605569415470240361133245489354889747241417385104447367949688903897133875312609010234999120462912219396196584375315375929433162393099689804297531481878594849771957013832288048685611920418947728791944695428076540421330871991693663843823272071705125394327592380392152537317660137010680168965861803503158406808833349199316266634499405219118978586835604483178395589189682646251445941974459829842852330814483191938386996117540068380774165188667301063913466919068255623130443549053388290857839933988812665008148277897619363756781049816385941453947471964573633501534297733697931647875665705748125678497201881457394891884307411950327177465385374467937079435975237022476645385630196257450191764369473496305700919757762373986254213151850068890500048326240696673585842746356152521656255312639531143257635869119043339492677698503346491927658772165655608998796775728636108762429934048133044473933193182499772753735502589036971537158340740912130150222264883344534774912899764357127170367202801283056335943876728863935459636347405555075510791494691883581250804630607880838377624460737671178398165035137911457363217803140053888576219053350712581494173218856681026953930215523152534490503255660900821163251460793024309740492134354089105238764123533599844745604547405165548326759277931134816334867829622125118209145223841071007800250069966433665748163708822329633632074852409991209189613248181252691716693291128336651713020979370312906895470268 |