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. Python二、十、八进制相互转换

    进制转换:先介绍用传统数学方法,再介绍用python内置方法 二进制转十进制: 1101 转为十进制 1*2^(4-1)+1*2^(3-1)+0*2^(2-1)+1*2^(1-1) 即各个位拆开,乘以 ...

  2. springcloud注解

    @EnableEurekaServer:启动一个服务注册中心提供给其他应用进行对话 @EnableZuulProxy:开启网关; @FeignClient:发现服务 @EnableFeignClien ...

  3. cas sso 整合记录

    首先说明下,我使用的cas-server版本是4.2.1 整合过程中遇到的问题及解决方式如下 1.因为使用https的话证书是个麻烦事,所以启用http 修改cas-server-webapp下的ca ...

  4. 钉钉微应用内置浏览器js缓存清理

    html中引用的js文件加上版本号,如下: <script type="text/javascript" src="js/xxx.js?version=1.0.1& ...

  5. 【PR笔记】一、打造希区柯克变焦效果

    1. 导入素材,“链接选择项”关闭,删除音频 2. 添加效果--视频效果--扭曲--视频稳定器, 然后程序帮我们自动稳定 3.视频首尾添加关键帧,首帧缩放200%  尾帧不变, 使视频前后的主体大小差 ...

  6. 连接Linux远程桌面的几个方法

    有下面五种方法: 一.通过xshell或putty直接调用程序窗口(通过ssh命令行连接). 二.通过xbrower连接Linux完整的桌面. 通过xshell直接调用程序窗口. rhel5的gdm的 ...

  7. el表达式获取url中携带的参数

    使用JSTL时,URL会被隐含的对象param包裹起来,使用param.变量名,直接获取值 <body>hello:${param.name}</body> 在使用jquery ...

  8. centeros7安装mysql

    转载自:https://www.linuxidc.com/Linux/2016-09/135288.htm 安装之前先安装基本环境:yum install -y perl perl-Module-Bu ...

  9. KEIL仿真出现 EVALUATION MODE

    原因是KEIL MDK没有破解,重新破解即可

  10. 15.SpringMVC核心技术-数据验证

    在 Web 应用程序中,为了防止客户端传来的数据引发程序的异常,常常需要对数据进行验证. 输入验证分为客户端验证与服务器端验证.客户端验证主要通过 JavaScript 脚本进 行, 而服务器端验证则 ...