洛谷 P2005 A/B Problem II

P2005 A/B Problem II

题目背景

为了让大家紧张的心情放松一下,这一题题是一道非常简单的题目。

题目描述

给出正整数N和M,请你计算N div M(N/M的下取整)。

输入输出格式

输入格式:

一行,两个正整数,N和M。

输出格式:

一行,一个整数,表示N div M。

输入输出样例

输入样例#1: 复制

1000 333

输出样例#1: 复制

3

说明

• 对于60%的数据:N,M ≤ 750!,答案≤ 7!。

• 对于100%的数据:N,M ≤ 6250!,答案≤ 13!。

请注意:上面的两句话并不是感叹句,而是陈述句。标点符号使用没有错误。

思路:模拟。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
string a1,b1;
int a[100001],b[100001];
int c[100001],t[100001];
int compare(int aa[],int bb[]){
    if(aa[0]>bb[0])    return 1;
    if(aa[0]<bb[0])    return -1;
    for(int i=aa[0];i>0;i--){
        if(aa[i]>bb[i])    return 1;
        if(aa[i]<bb[i])    return -1;
    }
    return 0;
}
void numcpy(int aa[],int bb[],int l){
    for(int i=1;i<=aa[0];i++)    bb[i+l-1]=aa[i];
    bb[0]=aa[0]+l-1;
}
int main(){
    cin>>a1>>b1;
    a[0]=a1.size();
    b[0]=b1.size();
    c[0]=a[0]-b[0]+1;
    for(int i=1;i<=a[0];i++)    a[i]=a1[a[0]-i]-48;
    for(int i=1;i<=b[0];i++)    b[i]=b1[b[0]-i]-48;
    for(int i=c[0];i>0;i--){
        memset(t,0,sizeof(t));
        numcpy(b,t,i);
        while (compare(a,t)>=0){
            c[i]++;
            if(!compare(a,t)){ a[0]=0;continue; }
            for(int i=1;i<=a[0];i++){
                if (a[i]<t[i]){ a[i+1]--;a[i]+=10; }
                a[i]-=t[i];
            }
            while(a[0]>0&&!a[a[0]])    a[0]--;
        }
    }
    while(c[0]>0&&!c[c[0]])    c[0]--;
    if(!c[0])    cout<<0<<endl;
    else    for(int i=c[0];i>0;i--)    cout<<c[i];
}
时间: 2024-08-29 11:40:45

洛谷 P2005 A/B Problem II的相关文章

洛谷1001 A+B Problem

洛谷1001 A+B Problem 本题地址:http://www.luogu.org/problem/show?pid=1001 题目描述 输入两个整数a,b,输出它们的和(|a|,|b|<=10^9).注意1.pascal使用integer会爆掉哦!2.有负数哦!3.c/c++的main函数必须是int类型,而且最后要return 0.这不仅对洛谷其他题目有效,而且也是noip/noi比赛的要求! 好吧,同志们,我们就从这一题开始,向着大牛的路进发.“任何一个伟大的思想,都有一个微不足道的

洛谷P1182 数列分段Section II 二分答案

洛谷P1182 数列分段Section II 二分答案 题意:将 n 个 数 分为 m段 求一种方案,使这m段中最大的和 最小 额..可能有点拗口,其实就是说每一种方案,都有对应的 每段和的最大值,要求一种方案,使最大值最小 题解 :二分答案 mid为分成的最大值, 然后O(n) 判断 答案 是否可行 贪心的做下去,如果再加上就要超过了,那就新开一段 最后判断开的段数是否小于 m 1.注意要判断 如果当前这个值大于 mid,一个值就已经大于 mid了,那就直接退出了,否则 ,这个值也只会单独算为

洛谷1288 取数游戏II 博弈论

洛谷1288 取数游戏II 博弈论 最优策略 一定是你一步把值走完,然后我再走完,这样不给别人留后路 然后这样走 只要自己从左走 或者从右走其中有一个有奇数步可走,则说明是必胜局 如果都是只能走偶数步的,就是必败局 . 另一个题解 首先,对于一条链a1,a2,a3,a4......0 如果是偶数条边,那么现手一定赢,因为他每一次都只用把后面一条取完,例如 5 4 3 6 5 0 先手取完5,后手没法回到前一个位置,而无论接下来后手去多少,先手继续取完3,再然后取完5,后手没办法再去,先手赢.就这

洛谷 P1001 A+B Problem

题目描述 输入两个整数a,b,输出它们的和(|a|,|b|<=10^9). 注意 1.pascal使用integer会爆掉哦! 2.有负数哦! 3.c/c++的main函数必须是int类型,而且最后要return 0.这不仅对洛谷其他题目有效,而且也是noip/noi比赛的要求! 好吧,同志们,我们就从这一题开始,向着大牛的路进发. “任何一个伟大的思想,都有一个微不足道的开始.” 输入输出格式 输入格式: 两个整数以空格分开 输出格式: 一个数 输入输出样例 输入样例#1: 20 30 输出样

洛谷——P1832 A+B Problem(再升级)

P1832 A+B Problem(再升级) 题目背景 ·题目名称是吸引你点进来的 ·实际上该题还是很水的 题目描述 ·1+1=? 显然是2 ·a+b=? 1001回看不谢 ·哥德巴赫猜想 似乎已呈泛滥趋势 ·以上纯属个人吐槽 ·给定一个正整数n,求将其分解成若干个素数之和的方案总数. 输入输出格式 输入格式: 一行:一个正整数n 输出格式: 一行:一个整数表示方案总数 输入输出样例 输入样例#1: 7 输出样例#1: 3 说明 [样例解释] 7=7 7=2+5 7=2+2+3 [福利数据] [

洛谷 P1601 A+B Problem(高精) 题解

此文为博主原创题解,转载时请通知博主,并把原文链接放在正文醒目位置. 题目链接 :https://www.luogu.org/problem/show?pid=1601 题目背景 无 题目描述 高精度加法,x相当于a+b problem,[b][color=red]不用考虑负数[/color][/b] 输入输出格式 输入格式: 分两行输入a,b<=10^500 输出格式: 输出只有一行,代表A+B的值 输入输出样例 输入样例#1: 1 1 输出样例#1: 2 AC代码: 1 #include<

洛谷 P1303 A*B Problem(高精度乘法) 题解

此文为博主原创题解,转载时请通知博主,并把原文链接放在正文醒目位置. 题目链接 :https://www.luogu.org/problem/show?pid=1303 题目描述 求两数的积. 输入输出格式 输入格式: 两行,两个数. 输出格式: 积 输入输出样例 输入样例#1: 1 2 输出样例#1: 2 说明 每个数字不超过10^2000,需用高精 AC代码: 1 #include<cstdio> 2 #include<algorithm> 3 #include<iost

洛谷P1832 A+B Problem(再升级) [2017年4月计划 动态规划03]

P1832 A+B Problem(再升级) 题目背景 ·题目名称是吸引你点进来的 ·实际上该题还是很水的 题目描述 ·1+1=? 显然是2 ·a+b=? 1001回看不谢 ·哥德巴赫猜想 似乎已呈泛滥趋势 ·以上纯属个人吐槽 ·给定一个正整数n,求将其分解成若干个素数之和的方案总数. 输入输出格式 输入格式: 一行:一个正整数n 输出格式: 一行:一个整数表示方案总数 输入输出样例 输入样例#1: 7 输出样例#1: 3 说明 [样例解释] 7=7 7=2+5 7=2+2+3 [福利数据] [

洛谷 P1865 A % B Problem(简单区间素数) 题解

此文为博主原创题解,转载时请通知博主,并把原文链接放在正文醒目位置. 题目链接:https://www.luogu.org/problem/show?pid=1865 题目背景 题目名称是吸引你点进来的 实际上该题还是很水的 题目描述 区间质数个数 输入输出格式 输入格式: 一行两个整数 询问次数n,范围m 接下来n行,每行两个整数 l,r 表示区间 输出格式: 对于每次询问输出个数 t,如l或r∉[1,m]输出 Crossing the line 输入输出样例 输入样例#1: 2 5 1 3