uva 10069 DP + 大数加法
来源:互联网 发布:中国第一程序员陈光威 编辑:程序博客网 时间:2024/06/09 14:40
代码:
#include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <queue>#include <map>#include <climits>#include <cassert>#define LL long longusing namespace std;const int inf = 0x3f3f3f3f;const double eps = 1e-8;const double pi = 4 * atan(1.0);const double ee = exp(1.0);const int maxa = 10000 + 10;const int maxb = 100 + 10;char res[maxb], dp[maxa][maxb][maxb];char s1[maxa], s2[maxb];void add(char a[], char b[]){ int A[maxb], B[maxb], C[maxb]; memset(res, 0, sizeof(res)); memset(A, 0, sizeof(A)); memset(B, 0, sizeof(B)); memset(C, 0, sizeof(C)); int lena = strlen(a); int lenb = strlen(b); int len; for (int i = 0; i < lena; i ++) A[lena - i - 1] = a[i] - '0'; for (int i = 0; i < lenb; i ++) B[lenb - i - 1] = b[i] - '0'; len = max(lena, lenb); for (int i = 0; i < len; i ++) { C[i] += A[i] + B[i]; C[i + 1] += C[i] / 10; C[i] %= 10; } while (C[len] == 0 && len > 0) len --; for (int i = len; i >= 0; i --) { res[len - i] = C[i] + '0'; }}int main(){#ifdef LOCAL freopen("in.txt", "r", stdin);#endif // LOCAL int ncase; scanf("%d", &ncase); while (ncase--) { scanf("%s%s", s1, s2); int lena = strlen(s1); int lenb = strlen(s2); for (int i = 0; i < lena; i++) strcpy(dp[i][0], "1"); for (int i = 1; i <= lena; i++) { for (int j = 1; j <= lenb; j++) { strcpy(dp[i][j], dp[i - 1][j]); if (s1[i - 1] == s2[j - 1]) { add(dp[i][j], dp[i - 1][j - 1]); strcpy(dp[i][j], res); } } } printf("%s\n", dp[lena][lenb]); } return 0;}
0 0
- uva 10069 DP + 大数加法
- uva 10069 Distinct Subsequences(dp,大数加法)
- uva 424 大数加法
- uva 465 - Overflow 大数加法 大数乘法
- uva 10069 - Distinct Subsequences(大数相加+DP)
- uva 10069 Distinct Subsequences(DP + 大数相加)
- UVa 10069 Distinct Subsequences(大数+DP)
- UVa 10069 Distinct Subsequences(大数 DP)
- uva 10069 Distinct Subsequences 【dp+大数】
- UVA 10069 ---Distinct Subsequences +DP+大数
- uva 10069 Distinct Subsequences (dp + 大数)
- uva 424 Integer Inquiry(大数加法)
- UVA 424 - Integer Inquiry(大数加法)
- uva 424 Integer Inquiry (大数加法)
- UVA Integer Inquiry(大数加法)
- UVA 424-Integer Inquiry(大数加法)
- How Many Fibs? - UVa 10183 大数加法
- poj3181 (dp种类数+大数加法)
- 解决HTML SELECT控件 disabled 后无法向后台传值的方法
- AFNetWorking 网络判断
- 使用IntelliJ IDEA编译spark-1.3.0源码
- bfs最短路+dp(FZU 2186)
- tween
- uva 10069 DP + 大数加法
- Ubuntu12.04-server安装SSH及其使用
- IOS Animation学习笔记
- (指向结构体数组的指针)有n个结构体变量,内含学生学号,姓名和3门课的成绩。要求输出平均成绩最高的学生的信息
- hibernate[注解]实现[多对多]关系
- SELinux管理与配置
- EditText 禁止输入中文字符
- iOS性能优化:Instruments使用实战
- 第三周 项目3-程序的多文件组合