zoukankan      html  css  js  c++  java
  • Kattis

    这里写图片描述

    分析

    给出两个串 从末尾开始对齐 每位对齐后,每一位 遍历

    如果 第一串 的那位 < 第二串 的 那么 第一串的那位 就删去
    如果 等于 两位 都保留
    如果 大于 那么 保留 第二串的 那位

    如果 最后 删完了 那一串 就输出 YODA

    AC代码

    #include <cstdio>
    #include <cstring>
    #include <ctype.h>
    #include <cstdlib>
    #include <climits>
    #include <iostream>
    #include <algorithm>
    #include <cmath>
    #include <deque>
    #include <vector>
    #include <queue>
    #include <string>
    #include <map>
    #include <stack>
    #include <set>
    #include <numeric>
    #include <sstream>
    #include <iomanip>
    #include <limits>
    
    using namespace std;
    typedef long long LL;
    
    const double PI  = 3.14159265358979323846264338327;
    const double E   = 2.718281828459;
    const double eps = 1e-6;
    
    const int INF = 0x3f3f3f3f;
    const int maxn = 1e9 + 5;
    const int MOD  = 1e9 + 7;
    
    int main()
    {
        string s1, s2;
        string c1 = "", c2 = "";
        cin >> s1 >> s2;
        int len1 = s1.size(), len2 = s2.size();
        int i, j;
        for (i = len1 - 1, j = len2 - 1; i >= 0 && j >= 0; i--, j--)
        {
            if (s1[i] < s2[j])
                c2 += s2[j];
            else if (s1[i] == s2[j])
            {
                c1 += s1[i];
                c2 += s2[j];        
            }   
            else
                c1 += s1[i];
        }
        if (i >= 0)
        {
            for ( ; i >= 0; i--)
                c1 += s1[i];
        }
        if (j >= 0)
        {
            for ( ; j >= 0; j--)
                c2 += s2[j];
        }
        if (c1.size())
        {
            for (i = c1.size() - 1; i >= 0; i--)
            {
                if (c1[i] != '0' || (c1[i] == '0' && i == 0))
                {
                    cout << c1[i];
                    break;      
                }       
            }       
            for (i-- ; i >= 0; i--)
                cout << c1[i];
        }   
        else 
            cout << "YODA";
        printf("
    ");
        if (c2.size())
        {
            for (i = c2.size() - 1; i >= 0; i--)
            {
                if (c2[i] != '0' || (c2[i] == '0' && i == 0))
                {
                    cout << c2[i];
                    break;
                }
            }
            for (i-- ; i >= 0; i--)
                cout << c2[i];
        }
        else 
            cout << "YODA";
        printf("
    ");
    } 
    
  • 相关阅读:
    数据库连接
    TUniConnection连接
    在Bootstrap中得模态框(modal)中下拉不能显示得问题
    git ---匿名分支和checkout命令
    git ---合并和删除分支
    Git ---创建和切换分支
    git --删除文件、重命名
    git --版本对比
    git ---回到过去
    git ---查看工作状态和历史提交
  • 原文地址:https://www.cnblogs.com/Dup4/p/9433257.html
Copyright © 2011-2022 走看看