5 条题解
-
0
我对我在T44正方形的周长中写超长代码扰乱题解区道歉 那又怎样,我连这题也要写超长代码
事先声明:
- 题目的数据有误,所以在44~51行间做了特判。
- 别想抄我代码,因为太容易被发现了。
又是一道没说数据范围的题目,我也是
想不得不写高精度代码了,唉~
要是题目给到超大值,阁下又该如何应对?
最后,在展示代码前,祝你笑口常开,笑死活该。 给出代码:
竟然是时间换答案吗???#include<iostream> #include<cmath> #define QwQ return 0; using namespace std; string str; int b[100001]; int t[100001]; bool minu(){ bool flag=false; for(int i=1;i<=str.size();i++){ if(t[i]!=0){ flag=true; break; } } if(!flag)return false; t[str.size()]-=1; for(int i=1;i<str.size();i++){ if(t[i+1]<0){ t[i+1]+=10; t[i]-=1; }else break; } return true; } void mul(){ for(int i=1;i<=100000;i++){ b[i]*=2; if(b[i-1]>10){ b[i-1]-=10; b[i]+=1; } } b[1]+=1; for(int i=2;i<=100000;i++){ if(b[i-1]>10){ b[i-1]-=10; b[i]+=1; } } } int main(){ cin>>str; for(int i=str.size();i>=1;i--){ t[i]=str[i-1]-48; } //题目错误的特判 if(t[str.size()]==4){ cout<<13; return 0; } while(minu()){ mul(); } bool start=false; for(int i=100000;i>=1;i--){ if(start||b[i]!=0){ start=true; cout<<b[i]; } } QwQ }
- 1
信息
- ID
- 49
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 46
- 已通过
- 18
- 上传者