求助

P1062 [NOIP2006 普及组] 数列

MAXN设小了
by SpadeA261 @ 2019-07-02 23:51:49


~~本蒟蒻也遇到过这样的问题,当时搞了半个小时也搞不出来~~ 你程序中for (int i=stop; i>0; i++)中i一直加,从stop加到(2^31)-1,再加到-(2^31)最后才到0,当然会挂。 要想不挂,就得把i++改成i-- 以下是AC代码 ``` #include<bits/stdc++.h> long long AC=0; int MLE[100]={0}; #define PC while #define UKE return #define RE for int main() { int OLE,TLE=0,CE; std::cin>>CE>>OLE; PC(OLE) { MLE[TLE]=OLE%2; OLE/=2; TLE++; } RE(int WA=0;WA<TLE;WA++)AC+=MLE[WA]*pow(CE,WA); std::cout<<AC<<"\n"; UKE 0; } ```
by ¥¥¥¥¥¥ @ 2019-10-30 11:47:20


更正一下:评论中“再加到-(2^31)最后才到0”改成“加到-(2^31)”
by ¥¥¥¥¥¥ @ 2019-10-30 11:49:02


|