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. 整体二分(模板一)静态区间第K大

    #define IOS ios_base::sync_with_stdio(0); cin.tie(0); #include <cstdio>//sprintf islower isupp ...

  2. JWT与Session比较和作用

    1. JSON Web Token是什么 JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,用于作为JSON对象在各方之间安全地传输信息.该 ...

  3. Python http.server中获取Post的请求报文

    今天在自学http.server请求命令, 各个字段都很好理解, 但唯独想打印获取Post请求报文时, 被难住了, 网上找了很多帖子, 官方的文档也刷了几遍, 但没有一个明确的答复. 后来不经意间看到 ...

  4. Asp.net core 学习笔记 ef core Surrogate Key, Natural Key, Alternate Keys

    更新: 2019-12-23 foreignkey 并不一样要配上 alternate key,其实只要是 unique 就可以了. 和 sql server 是一样的, 经常有一种错觉 primar ...

  5. spring-cloud 学习四 服务网关

    API Gateway 服务网关在微服务中是一个很重要的组成部分,通过服务网关可以统一向外提供REST API,例如 / 映射到后端应用 /api/user 映射到 user service,  /a ...

  6. C# 读取本地图片

    /// <summary> /// 通过FileStream 来打开文件,这样就可以实现不锁定Image文件,到时可以让多用户同时访问Image文件 /// </summary> ...

  7. Unity Cube一面显示图片

    Cube加plane 把plane调整到和cube的一面一样大小,并放到那一面的位置,然后再Hierarchy面板选中plane,把图片拖到Inspector的plane下.

  8. EFcore的 基础理解<三> 多对多,唯一约束

    唯一约束,替代键. modelBuilder.Entity<Car>() .HasAlternateKey(c => new { c.State, c.LicensePlate }) ...

  9. java Map 四种遍历方法

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  10. wpf win10 popup位置偏移问题

    同样问题参照: https://stackoverflow.com/questions/18113597/wpf-handedness-with-popups 解决方案: private static ...