Description

A multi-digit column addition is a formula on adding two integers written like this:

aaarticlea/webp;base64,UklGRg4FAABXRUJQVlA4TAIFAAAvm4EcAB6q2rYtkpxP7snUOdQR1BGULt22bbmSpUq2GtWqVJih1NAy74aT5d0SJQa+gaZw/WHmxE/cF5TLGGZmsMz4hBMHRdv/ts0P9jL/O+gE/xMYC4eamhkKCQoZGQV17yGU1b333m2GQMZPirVtbaY9cjbDHlgBK4hGx8bGIVFIVFRU1PReUK/BTP97L5ivvGLK039HbiQpUnoYbjOLqXmAkjf37Wb+3cy/Tek2dHbYNYDiKXtqROChO8XfwgRbtjr4xnoGgfQr5v/gCCpWsRDA5jPcjwJf7lO5Slc7y/PPSrYujcBMnPCpqIbAlS3iCiZYRTGfZB8C+w7KJ2nAR9RvDWsITBlJ66SzwjVcQUkRg/lk+85WBEW5Cjx8JP3mRUmOmxdNJF41ArctEldQUTpSsW16alCyiEGE+QPY1v+T74/Wzm9xjADEq9bW1goVnxqu9y1suPrjIDnlaRRgODQASKOze5wjw/1kK6oVZVLl6rjWPLz6HVakbIkpDpHFbgVw3ngR6bZtEeX3oAjle1kQhM9YnLKlRpR0BdtYdreyCmwalwUPfepDUoYotw1ZJsa3CxGOobXf2XH5Z9zA94Ez5omxNx4ibTkzM8u0UrxnEcQ2NZ2zzF7omDiKOxZfynCrbrtTrvdxs/+UL2VfcRhDl12MAk+FwSY2HdfcHWomycyKsIKn0lX/hm9MUxftk5otP8kXrb4wsE08FiBTgad8DzP7HJQtCPh64o4rxtEWu5WSNVsc7Zl5Y1BPBRXmo2yhGy5qfV9xebvt6UVJyO96gf2UFWn6/qL5F2q2pOWKojGo9p1PdQkDvgLln6bPt1Vj1TFB+d0r0cAykVbn3X2f6JPabfBs44VIr+/qB8zlqVd9sVHmP2s1ipWU3aF4T12cewGOK56o29J9N1wqg1HqN4u9KlfvzkXZAu/Oa6qSa8ezHZd/flIyWLlFhr+zPUR9ll+GUH1k/QsveIpAuhdeeCHMxuqE9HXc05Bo4cAvmand14ePVPVld1N2dUwq1ldSU6jPzuvXIpaff17cksChZY+H9+Xnn4tYJ75JPxO8/SyWlIWUhfGzEEPq0nlbml+OgYzVJXlqNmVfdmda4cndqUrtXinKFQP5b/iynLl18W8Rlwcakv/ddvmStozAVi3y1Kseon5/lwJNHNMxcYXTeOrdf+AuDxOsSJMAbftE+9ILXNUii/uTDfvmDFmb5oVnPxP4skVlCwMiCVkYLNFjTVRS2aIKT8VFb0ONqmTdFkdzZt64vNa+1yLKpjtVEmDtU321hvfizvv+PPFNbrLMyStHi+Z2rgriYuQmxyhfqkTcQ4+u4iYef5Y0YuZS6uKXiYvnba3IT4KI8Y0JJZQnxA306Cou7ifrsLbS9om3tbUeaDRxSN+JE+jRVTx29MDE+OVAYx6ZqRWrKBJTYBsvPivKhhPo7iqy4r1Ud4TiO3yr3+yojzy5+x6cQHdXEeAPUbNtlZSU3ZnKfL7CCXR3FQHSfdvEBez3SjSwC0U/2P+4g/++ee42mOCTWPwArE2zZdlxsT/vtodxAx1dxY4Mf8fvy0iAit+H5lNSTuedlAdcYaWrq6jfhKzlOp5GXbzPua+wOCU7r1acQI+uImT7bi5zX7MEnV5y/7EIiys8t627qwiPff8OkN95a5VRFCFyrf7Ke0V1FTelpxX73wF4sGjJ2v0/3ISPm/13s/8A" alt="" data-pagespeed-url-hash="3831660031" />

A multi-digit column addition is written on the blackboard, but the sum is not necessarily correct. We can erase any number of the columns so that the addition becomes correct. For example, in the following addition, we can obtain a correct addition by erasing the second and the forth columns.

aaarticlea/webp;base64,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" alt="" data-pagespeed-url-hash="4126159952" />

Your task is to find the minimum number of columns needed to be erased such that the remaining formula becomes a correct addition.

Input

There are multiple test cases in the input. Each test case starts with a line containing the single integer n, the number of digit columns in the addition (1 ⩽ n ⩽ 1000). Each of the next 3 lines contain a string of n digits. The number on the third line is presenting the (not necessarily correct) sum of the numbers in the first and the second line. The input terminates with a line containing “0” which should not be processed.

Output

For each test case, print a single line containing the minimum number of columns needed to be erased.

Sample Input

3
123
456
579
5
12127
45618
51825
2
24
32
32
5
12299
12299
25598
0

Sample Output

0
2
2
1 这题就是给你一个竖式,然后看去除多少列,能使这个竖式正确。
这题其实很好写,唉 ,DP写少了, 其实这个是个很经典的DP
求最长上升子序列的变形,思想一样,只是判断条件不同而已。
这么裸的DP换个样子我就认不出了。菜是原罪啊!!!! 注意
a[i]+b[i]-10==c[i] 只在这个条件下更新ans的值是有原因的,
因为你如果此时存在进位的情况 你并不能判断他到底是不是该去还是留。
求出最长的对的式子,用n-ans答案就出来了
我觉得我要开始我的基础DP训练了 , 这个真的不能再拖了
 #include <iostream>
#include <map>
#include <set>
#include <string>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <queue>
#include <vector>
using namespace std;
const int maxn =;
int a[maxn],b[maxn],c[maxn],dp[maxn],k[maxn];
int n;
int main() {
//freopen("DATA.txt","r",stdin );
while(scanf("%d",&n),n){
memset(dp,,sizeof(dp));
memset(k,,sizeof(k));
for (int i= ;i<n ;i++ )
scanf("%1d",&a[i]);
for (int i= ;i<n ;i++ )
scanf("%1d",&b[i]);
for (int i= ;i<n ;i++ )
scanf("%1d",&c[i]);
int ans=;
for (int i=n- ;i>= ;i--) {
if (a[i]+b[i]==c[i]) {
dp[i]=;
k[i]=;
if (dp[i]>ans) ans=dp[i];
}
if (a[i]+b[i]-==c[i]) {
dp[i]=;
k[i]=;
}
for (int j=n- ;j>i ;j--) {
if (a[i]+b[i]+k[j]==c[i] && dp[i]<dp[j]+) {
k[i]=;
dp[i]=dp[j]+;
if (dp[i]>ans) ans=dp[i];
}
if (a[i]+b[i]+k[j]-==c[i] && dp[i]<dp[j]+ ) {
k[i]=;
dp[i]=dp[j]+;
}
}
}
printf("%d\n",n-ans);
}
return ;
}

Column Addition~DP(脑子抽了,当时没有想到)的更多相关文章

  1. 【动态规划】Column Addition @ICPC2017Tehran/upcexam5434

    时间限制: 1 Sec 内存限制: 128 MB 题目描述 A multi-digit column addition is a formula on adding two integers writ ...

  2. CSU-2034 Column Addition

    CSU-2034 Column Addition Description A multi-digit column addition is a formula on adding two intege ...

  3. 2018湖南多校第二场-20180407 Column Addition

    Description A multi-digit column addition is a formula on adding two integers written like this:

  4. leetcode修炼之路——387. First Unique Character in a String

    最近公司搬家了,有两天没写了,今天闲下来了,继续开始算法之路. leetcode的题目如下: Given a string, find the first non-repeating characte ...

  5. CQOI2021 退役记

    Day -1 晚上去了酒店然后就睡觉了. Day 1 进考场之前互相奶. 进了考场之后看题,发现T1很水(伏笔1,然后直接开始写 \(\Theta(n\log^2n)\)(二分+动态开点线段树),调了 ...

  6. Fzu2109 Mountain Number 数位dp

    Accept: 189    Submit: 461Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description One ...

  7. poj 1088 滑雪(区间dp+记忆化搜索)

    题目链接:http://poj.org/problem?id=1088 思路分析: 1>状态定义:状态dp[i][j]表示在位置map[i][j]可以滑雪的最长区域长度: 2>状态转移方程 ...

  8. CH0103 最短Hamilton路径 dp

    正解:状压dp 解题报告: 完了吃枣退役:D 我是真的没想到这是个dp...脑子越来越不好了,大概是太久没碰OI了都要生疏了...哭了,感觉自己太傻逼了可能不适合学信息... 知道是个状压dp就eas ...

  9. bzoj 1630: [Usaco2007 Demo]Ant Counting【dp】

    满脑子组合数学,根本没想到dp 设f[i][j]为前i只蚂蚁,选出j只的方案数,初始状态为f[0][0]=1 转移为 \[ f[i][j]=\sum_{k=0}^{a[i]}f[i-1][j-k] \ ...

随机推荐

  1. 未来已来,腾讯AI计算网络

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:由鹅厂网事发表在云+社区 "鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流 ...

  2. 三大家族,offset,scroll,client

    1.client 1.1主要成员 1.clientWidth 获取网页可视区域宽度(两种用法)    clientHeight 获取网页可视区域高度 (两张用法) 盒子调用: 指盒子本省 浏览器调用: ...

  3. elfinder源码浏览-Volume文件系统操作类(1)

    今天看了一个文件管理的java后台源码,elfinder 发现这个东东比我写的代码效率告到不知道哪去了,苦思冥想后还是抽点时间看看吧.. 它实现了我们电脑上的所以关于文件操作的动作,并生成了api开放 ...

  4. linux实验一 双系统安装

    (一)首先来简要了解一些linux的概念! 1.发行版本和内核版本的区别与联系:linux发行版本是"内核版本+一系列挂载软件"的集合体,光是一个内核版本是无法当做操作系统运行的. ...

  5. Python基本知识

    python是一门编程语言,这是我们学习python首先要了解的内容,那么编程语言又是什么,我们为什么需要编程语言 我们讲的话是汉语,英语或者其他语言,计算机也可以讲话,但是他只会说0,1,也只能看懂 ...

  6. Socket之心跳包实现思路

    由于最近要做一个客户端,但是要求有一个掉线检测的功能,下面让我们看看使用自定义的HeartBeat方式来检测客户端的连接情况. 心跳包的实现思路: 客户端连接上服务端后,在服务端会维护一个在线客户端列 ...

  7. IPFS如何挖矿<Filecoin系统>?(一)

    本来这篇文章应该晚一点写, 但是这几天一直有朋友在公众号留言, 迫切的想知道IPFS到底如何挖矿, 所以就提前写一篇关于IPFS挖矿的文章. 本文暂不涉及具体的技术细节, 只做大概的介绍. 首先, 好 ...

  8. 解决Centos7本机时间与实际时间相差8小时

    # timedatectl Local -- :: CST Universal -- :: UTC #相差8小时 RTC -- :: Time zone: Asia/Shanghai (CST, +) ...

  9. 新华三H3C服务器安装系统问题

    服务器装系统出现如下问题: 解决: 1)先点击Install Centos7进入系统盘系统,查看对应路径的盘符标识: 2)重启按e进入编辑界面修改对应的读取路径: 3)Ctrl+x继续进入,开始正常系 ...

  10. react+redux+webpack+git技术栈

    一.git bash here mdkr cnpm init -y ls -a ls -l ls -la隐藏的也可查看 cat package.json 二.npm npm i webpack-dev ...