HDU 4726 Kia's Calculation (贪心)
来源:互联网 发布:手机印章制作软件 编辑:程序博客网 时间:2024/03/29 23:06
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4726
思路:贪心,尽量先组大的数字,注意考虑前导零的情况
代码:
#include <stdio.h>#include <string.h>const int N = 1000005;int t, v1[10], v2[10], ans[N];char s1[N], s2[N];void solve() { int n = strlen(s1); if (n == 1) {ans[0] = (s1[0] - '0' + s2[0] - '0') % 10;printf("%d\n", ans[0]);return; } for (int i = 9; i >= 0; i--) {int flag = 0;for (int j = 1; j <= 9; j++) { int k = (10 + i - j) % 10; if (k == 0) continue; if (v1[j] && v2[k]) {v1[j]--;v2[k]--;ans[0] = i;flag = 1;break; }}if (flag) break; } for (int i = 1; i < n; i++) {int flag = 0;for (int j = 9; j >= 0; j--) { for (int k = 0; k <= 9; k++) {int kk = (10 + j - k) % 10;if (v1[k] && v2[kk]) { v1[k]--; v2[kk]--; ans[i] = j; flag = 1; break;} } if (flag) break;} } int flag = 0; for (int i = 0; i < n; i++) {if (ans[i] != 0 || flag) { printf("%d", ans[i]); flag = 1;}if (flag == 0) continue; } if (flag == 0) printf("0"); printf("\n");}int main() { int cas = 0; scanf("%d", &t); while (t--) {memset(v1, 0, sizeof(v1));memset(v2, 0, sizeof(v2));scanf("%s%s", s1, s2);int l1 = strlen(s1), l2 = strlen(s2);for (int i = 0; i < l1; i++) v1[s1[i] - '0']++;for (int i = 0; i < l2; i++) v2[s2[i] - '0']++;printf("Case #%d: ", ++cas);solve(); } return 0;}
1 0
- HDU 4726 Kia's Calculation (贪心)
- hdu 4726 Kia's Calculation(贪心)
- hdu 4726 Kia's Calculation (贪心)
- HDU 4726 Kia's Calculation(数学+贪心)
- HDU 4726 Kia's Calculation (贪心算法)
- Kia's Calculation(贪心)
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- hdu 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- hdu 4726 Kia's Calculation(贪心,好题)
- HDU 4726 Kia's Calculation 解题报告
- struct 结构体以及 typedef struct
- oracle 树操作 connect b prior
- 3.4Bootstrap学习组件篇之导航、标签、面包屑导航
- 小试Googletest记二
- 字符串字面值是什么意思?
- HDU 4726 Kia's Calculation (贪心)
- Henry捡钱_DP
- J2EE中的MVC模型介绍
- Java 高新技术 7K面试题(交通灯管理系统)
- HDU2063(二分匹配入门模板题)
- CCProgressTime摘要
- "aa".equals(a)这种写法为什么就可以避免空指针。
- leetcode第一刷_Submission Details
- 快速排序(QuickSort)以及C++随机数的生成