1331 西行寺幽幽子

时间限制: 1 s

空间限制: 128000 KB

题目等级 : 黄金 Gold

题目描述 Description

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

输入描述 Input Description

第1行:一个正整数M

第2行:一个正整数N

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

输出描述 Output Description

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

样例输入 Sample Input

73861758

12471

样例输出 Sample Output

5922

数据范围及提示 Data Size & Hint

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

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

分类标签 Tags

开放性试题 高精度

/*
这题一看题面.
喜gay烧酒高精除.
其实我们可以二分一个答案做高精度乘法检验.
恩就是这样.
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define MAXN 40001
#define INF 2000000000
#define LL long long
using namespace std;
int a[MAXN],c[MAXN],ans,n[MAXN],m[MAXN],l1,l2;
char tmp[MAXN],tmp1[MAXN];
bool jd(int l)
{
if(l>n[0]) return false;
else if(l<n[0]) return true;
for(int i=n[0];i>=1;i--)
{
if(c[i]==n[i]) continue;
if(c[i]>n[i]) return false;
if(c[i]<n[i]) return true;
}
}
bool check(int x)
{
int t=0;
memset(a,0,sizeof(a));
memset(c,0,sizeof(c));
while(x){
a[++a[0]]=x%10;
x/=10;
}
for(int i=1;i<=a[0];i++)
{
int x=0;
for(int j=1;j<=m[0];j++)
{
c[i+j-1]+=a[i]*m[j];
c[i+j]+=c[i+j-1]/10;
x=c[i+j-1]/10;
c[i+j-1]%=10;
}
c[i+m[0]]=x;
}
int l=a[0]+m[0];
while(!c[l]&&l>=1) l--;
if(jd(l)) return true;
else return false;
}
void erfen(LL l,LL r)
{
int mid;
while(l<=r)
{
mid=(l+r)>>1;
if(check(mid)) ans=mid,l=mid+1;
else r=mid-1;
}
printf("%d",ans);
}
void slove()
{
for(int i=1;i<=l1;i++)
n[i]=tmp[l1-i+1]-48;
for(int i=1;i<=l2;i++)
m[i]=tmp1[l2-i+1]-48;
n[0]=l1,m[0]=l2;
}
int main()
{
scanf("%s",tmp+1);l1=strlen(tmp+1);
scanf("%s",tmp1+1);l2=strlen(tmp1+1);
slove();
erfen(1,INF);
return 0;
}

Codevs 1331 西行寺幽幽子(高精度)的更多相关文章

  1. Codevs p1004 四子连棋

                          四子连棋 题目描述 Description 在一个4*4的棋盘上摆放了14颗棋子,其中有7颗白色棋子,7颗黑色棋子,有两个空白地带,任何一颗黑白棋子都可以向 ...

  2. codevs 1004 四子连棋

    1004 四子连棋  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold     题目描述 Description 在一个4*4的棋盘上摆放了14颗棋子,其中有7颗白 ...

  3. codevs 1004 四子连棋 BFS、hash判重

    004 四子连棋 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold       题目描述 Description 在一个4*4的棋盘上摆放了14颗棋子,其中有7颗白色棋 ...

  4. CODEVS 1004四子连棋

    [题目描述 Description] 在一个4*4的棋盘上摆放了14颗棋子,其中有7颗白色棋子,7颗黑色棋子,有两个空白地带,任何一颗黑白棋子都可以向上下左右四个方向移动到相邻的空格,这叫行棋一步,黑 ...

  5. 迭代加深搜索[codevs1004 四子连棋]

    迭代加深搜索 一.算法简介 迭代加深搜索是在速度上接近广度优先搜索,空间上和深度优先搜索相当的搜索方式.由于在使用过程中引入了深度优先搜索,所以也可以当作深度优先搜索的优化方案. 迭代加深搜索适用于当 ...

  6. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  7. NOIP练习赛题目3

    魔兽争霸 难度级别:C: 运行时间限制:1000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 小x正在销魂地玩魔兽他正控制着死亡骑士和n个食尸鬼(编号1-n)去打 ...

  8. 9.16noip模拟试题

    题目描述 在幻想乡,东风谷早苗是以高达控闻名的高中生宅巫女.某一天,早苗终于入手了最新款的钢达姆模型.作为最新的钢达姆,当然有了与以往不同的功能了,那就是它能够自动行走,厉害吧(好吧,我自重).早苗的 ...

  9. 2014-9-9 NOIP模拟赛

    东方幻想乡系列模拟赛Stage 1命题 Nettle审题 Barty ccy1991911 FlanS39 Wagner T2 高精除高精,从来没写过,不知道怎么写,我就用大数减小数ans次,果断超时 ...

随机推荐

  1. MGR+Consul集群

    [root@mydb1 ~]# wget https://releases.hashicorp.com/consul/1.4.0/consul_1.4.0_linux_amd64.zip[root@m ...

  2. 牛客 133D 挑选队友 (分治FFT)

    大意: $n$个人, 分别属于$m$个组, 要求选出$k$个人, 使得每组至少有一人, 求方案数. 显然答案为$\prod((1+x)^{a_i}-1)$的第$k$项系数, 分治$FFT$即可. #i ...

  3. redis 入门教程

    https://edu.aliyun.com/course/22/lesson/list?spm=5176.8252056.759075.5.Bbrpyz

  4. Unity Button延迟功能

    有时候Button点下去不是要求立即反应的,而是先有个特别短的动画,再反应. 实现: 继承Button,然后重写一下OnPointerClick,利用协程来延迟. using System.Colle ...

  5. MySQL修改和查看表类型

    //修改表类型alter table verify_code engine = MEMORY;//查看表类型show create table verify_code;

  6. Oracle 以及 PLSQL安装

    今天重装系统遇到oracle 安装的问题咯 ,oracle安装过程中很多疑难杂症咯 1如果之前装过,记得去删除注册表的Oracle 相关的文件 ,请百度有很多教程咯 2这个必须要勾选的!因为的是11g ...

  7. mbedtls 入门

    mbedtls 入门 https://segmentfault.com/a/1190000012007117 ARM mbedtls使开发人员可以非常轻松地在嵌入式产品中加入加密和SSL/TLS功能. ...

  8. zepto学习(一)之click事件和tap事件比较

    一.click 和 tap 比较 两者都会在点击时触发,但是在手机WEB端,click会有 200~300 ms,所以请用tap代替click作为点击事件. singleTap和doubleTap分别 ...

  9. QT Creator 使用SVN的版本号做为编译的版本信息

    在使用qt Creator 开发中,如果想使用 svn 的源代码版本号来作为 build 的一个子版本号或者只是为了识别某个发布版本,与源代码的版本信息对应起来,可以方便调试对应的版本代码,我们可以通 ...

  10. impala 建表时报错,不支持中文

    1.错误信息 (1366, "Incorrect string value: '\\xE6\\x8E\\x88\\xE6\\x9D\\x83...' for column 'search' ...