【BZOJ】1754: [Usaco2005 qua]Bull Math

【算法】高精度乘法

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn=100;

char s1[maxn],s2[maxn];
int a[maxn],b[maxn],c[maxn],lena,lenb,lenc;
int main(){
    scanf("%s%s",s1,s2);
    lena=strlen(s1);lenb=strlen(s2);
    for(int i=0;i<lena;i++)a[lena-i]=s1[i]-‘0‘;
    for(int i=0;i<lenb;i++)b[lenb-i]=s2[i]-‘0‘;
    for(int i=1;i<=lena;i++){
        int x=0;
        for(int j=1;j<=lenb;j++){
            x=a[i]*b[j]+x+c[i+j-1];
            c[i+j-1]=x%10;
            x/=10;
        }
        c[i+lenb]=x;
    }
    lenc=lena+lenb;
    while(lenc>1&&!c[lenc])lenc--;
    for(int i=lenc;i>=1;i--)printf("%d",c[i]);
    return 0;
}

时间: 2024-10-05 11:36:40

【BZOJ】1754: [Usaco2005 qua]Bull Math的相关文章

bzoj 1754: [Usaco2005 qua]Bull Math【高精乘法】

高精乘法板子 然而WA了两次也是没救了 #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int N=105; int la,lb,lc,a[N],b[N],c[N],tot; char ch[N]; int main() { scanf("%s",ch+1); la=strlen(ch+1); for(int i=1;i<=la;i

BZOJ 1754: [Usaco2005 qua]Bull Math

Description Bulls are so much better at math than the cows. They can multiply huge integers together and get perfectly precise answers ... or so they say. Farmer John wonders if their answers are correct. Help him check the bulls' answers. Read in tw

bzoj1754[Usaco2005 qua]Bull Math*

bzoj1754[Usaco2005 qua]Bull Math 题意: 求两个正整数的积,每个数≤40位. 题解: 为什么C++不能支持高精度呢…… 代码: 1 a=int(raw_input()) 2 b=int(raw_input()) 3 print a*b 20160831

【BZOJ】1741: [Usaco2005 nov]Asteroids 穿越小行星群

[题意]给定n*n网格,有k个物品,每次可以消灭一行或一列,求消灭掉所有物品的最少操作次数. [算法]二分图最小覆盖 [题解]此题是最小覆盖模型的出处. 将物品的x-y连边建立二分图. 最小覆盖:选择最少的点,使每条边至少有一个端点被覆盖. 刚好对应题意. 最小覆盖可以用最小割解决,将选择点视为割去边,S-T不连通就是边至少一个点被覆盖. 注意:二分图开双倍点. #include<cstdio> #include<algorithm> #include<cstring>

【BZOJ】1676: [Usaco2005 Feb]Feed Accounting 饲料计算

Description Farmer John is trying to figure out when his last shipment of feed arrived. Starting with an empty grain bin, he ordered and received F1 (1 <= F1 <= 1,000,000) kilograms of feed. Regrettably, he is not certain exactly when the feed arriv

【BZOJ】1684: [Usaco2005 Oct]Close Encounter(暴力+c++)

http://www.lydsy.com/JudgeOnline/problem.php?id=1684 这货完全在考精度啊.. 比如奇葩 (llf)a/b*i (llf)(a/b*i)和(llf)(a/b)*i和(llf)(a/b)*(llf)i 这两货竟然不通????上边的能对,下边的就错了?? 噗. 全部都要..(llf)a/(llf)b*(llf)i..... 这样才不会错.. T_T 教训吸取了. #include <cstdio> #include <cstring>

【BZOJ】3319: 黑白树

http://www.lydsy.com/JudgeOnline/problem.php?id=3319 题意:给一棵n节点的树(n<=1e6),m个操作(m<=1e6),每次操作有两种:1.查询u到根的第一条黑边的编号.2.将u到v的路径全部染成黑色 #include <cstdio> #include <cstring> #include <cmath> #include <string> #include <iostream>

【bzoj】4538: [Hnoi2016]网络

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4538 维护一个数据结构支持对于一颗树的操作,需要支持: 1.对于树上的一条路径上的每个点上放一个值. 2.撤销某次操作的路劲放. 3.查询除了经过这个点的路径的最大值. 往一个路径上丢值相当于往不经过条路径的所有点上丢值. 用一个树链剖分即可维护,对于操作区间取反. 直接查询单点最大值即可. 为了维护单点最大值,线段树中的每一个点对应两个堆,用于维护插入誉删除. 防止爆空间,所以标记永久

【BZOJ】1821: [JSOI2010]Group 部落划分 Group(最小生成树+贪心)

http://www.lydsy.com:808/JudgeOnline/problem.php?id=1821 这题裸题. 本题要求最短距离最长,很明显,我们排序. 这里存在贪心,即我们把边权最小的全分给n个部落的内部,然后剩下的边最小的就是答案. 将边权较小的边分给k个部落,用并查集生成最小树,使得内部的边总是小于连到外部的边.然后分剩下k个点即可,剩下的k个点的那条边一定是部落之间最小的且最长的边. #include <cstdio> #include <cstring> #