失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 西行寺幽幽子(恶心的高精除)

西行寺幽幽子(恶心的高精除)

时间:2022-12-21 16:51:08

相关推荐

西行寺幽幽子(恶心的高精除)

题目描述

在幻想乡,西行寺幽幽子是以贪吃闻名的亡灵。不过幽幽子可不是只会吃,至少她还管理着亡灵界。话说在幽幽子居住的白玉楼有一颗常年不开花的樱树——西行妖。幽幽子决定去收集人间的春度,聚集起来让西行妖开花。很快,作为幽幽子家园艺师的魂魄妖梦收集到了 M 个单位的春度。并且在这段时间里,幽幽子计算出要让西行妖开出一朵花需要 N 个单位的春度。现在幽幽子想要知道,使用所有的春度,能够让西行妖开出多少朵花。

输入格式

第 1 行:一个正整数 M

第 2 行:一个正整数 N

N,M 的位数不超过 L,L 的范围在题目后面给出

输出格式

第 1 行:一个整数 ans,表示能开出花的朵数

输入样例

73861758

12471

输出样例

5922

数据范围

对于 60%的数据:L <= 2,000 且 ans <= 2,000

对于 100%的数据:L <= 20,000 且 ans <= 2,000,000,000

就是一个高精除,实在是恶心

代码

#include<iostream>#include<cstring>using namespace std;int la,lb,lc,a[30001],b[30001],c[30001],tmp[30001],i,x,j,d;string t,s1,s2;void print(int a[]) {for(int i=a[0];i>0;i--){cout<<a[i];}return;}int compare(int a[],int b[]) {if(a[0]>b[0]) return 1;if(a[0]<b[0]) return -1;for(int i=a[0];i>0;i--) {if(a[i]>b[i]) return 1;if(a[i]<b[i]) return -1;}return 0;}void numcpy(int p[],int q[],int det){for(int i=1;i<=p[0];i++)q[i+det-1]=p[i];q[0]=p[0]+det-1;}void jian(int a[],int b[]) { int flag,i; flag=compare(a,b);if(flag==0){a[0]=0;return;}if(flag==1) {for(i=1;i<=a[0];i++) {if(a[i]<b[i])a[i+1]--,a[i]=a[i]+10;a[i]=a[i]-b[i];}while(a[0]>0&&a[a[0]]==0){a[0]--;}return;}}void chugao(int a[],int b[],int c[]) {c[0]=a[0]-b[0]+1;for(int i=c[0];i>0;i--) {memset(tmp,0,sizeof(tmp));numcpy(b,tmp,i);while(compare(a,tmp)>=0)c[i]++,jian(a,tmp);}while(c[0]>0&&c[c[0]]==0) c[0]--;return;}void adib(string a1,string b1) {memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(c,0,sizeof(c));a[0]=a1.size();for(i=1;i<=a[0];i++) a[i]=a1[a[0]-i]-'0';b[0]=b1.size();for(i=1;i<=b[0];i++) b[i]=b1[b[0]-i]-'0';chugao(a,b,c);print(c);return;}int main() {cin>>s1>>s2;adib(s1,s2);return 0;}

如果觉得《西行寺幽幽子(恶心的高精除)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。