首页 > 其他 > 详细

CF1553 D. Backspace(贪心)

时间:2021-08-04 11:34:39      阅读:35      评论:0      收藏:0      [点我收藏+]

目录

Description

有两个字符串 s t ,s 中的每个字符都可以当作 Backspace ,即删掉前一个字符(如果前面存在字符的话),问是否可以将 s 串变为 t 串

State

测试样例 \(1<=q<=10^5\)

\(1<=|s|<=10^5\)

\(1<=|t|<=10^5\)

Input

4
ababa
ba
ababa
bb
aaa
aaaa
aababa
ababa

Output

4
ababa
ba
ababa
bb
aaa
aaaa
aababa
ababa

Solution

在保留下一个字符之前,我们可以删除任意个数的字符,之后只能一次性删除两个字符,所以不妨倒着删,剩下的部分一直按 Backspace 键即可

Code

signed main()
{
    IOS;
    rush(){
        string s, t;
        cin >> s >> t;
        int i = s.size() - 1, j = t.size() - 1;
        for(; i >= 0;){
            if(s[i] == t[j]){
                j --;
                i --;
            }
            else{
                i -= 2;
            }
            if(j == -1) break;
        }
        puts(j == -1 ? "YES" : "NO");
    }
    return 0;
}

CF1553 D. Backspace(贪心)

原文:https://www.cnblogs.com/Segment-Tree/p/15097302.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!