zoukankan      html  css  js  c++  java
  • CodeForces 518B Tanya and Postcard (题意,水题)

    题意:给定两个字符串,然后从第二个中找和第一个相同的,如果大小写相同,那么就是YAY,如果大小写不同,那就是WHOOPS。YAY要尽量多,其次WHOOPS也要尽量多。

    析:这个题并不难,难在读题懂题意。首先把两个字符串的的每个字符存起来,然后,先扫一遍,把所有的能YAY的都选出来,剩下的再尽量先WHOOPS

    代码如下:

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <vector>
    #include <set>
    #include <cstring>
    #include <cmath>
    #include <map>
    #include <cctype>
    
    using namespace std;
    const int maxn = 1000 + 5;
    map<char, int> mp1;
    map<char, int> mp2;
    string s1, s2;
    
    int main(){
        cin >> s1 >> s2;
        for(int i = 0; i < s1.size(); ++i)
            ++mp1[s1[i]];
        for(int i = 0; i < s2.size(); ++i)
            ++mp2[s2[i]];
    
        int cnt1 = 0, cnt2 = 0;
        for(int i = 0; i < 26; ++i){
            if(mp1[i+'a'] >= mp2[i+'a']){
                cnt1 += mp2[i+'a'];
                mp1[i+'a'] -= mp2[i+'a'];
                mp2[i+'a'] = 0;
            }else{
                cnt1 += mp1[i+'a'];
                mp2[i+'a'] -= mp1[i+'a'];
                mp1[i+'a'] = 0;
            }
            if(mp1[i+'A'] >= mp2[i+'A']){
                cnt1 += mp2[i+'A'];
                mp1[i+'A'] -= mp2[i+'A'];
                mp2[i+'A'] = 0;
            }else{
                cnt1 += mp1[i+'A'];
                mp2[i+'A'] -= mp1[i+'A'];
                mp1[i+'A'] = 0;
            }
        }
        for(int i = 0; i < 26; ++i){
            if(mp1[i+'a'])  cnt2 += min(mp1[i+'a'], mp2[i+'A']);
            if(mp1[i+'A'])  cnt2 += min(mp1[i+'A'], mp2[i+'a']);
        }
        printf("%d %d
    ", cnt1, cnt2);
        return 0;
    }
    
  • 相关阅读:
    C++ 数字、string 简便互转
    【C语言】递归函数DigitSum(n)
    UVALIVE 4287 Proving Equivalences (强连通分量+缩点)
    【linux驱动分析】misc设备驱动
    C++ auto 与 register、static keyword 浅析
    spring 计时器
    Spring注解配置定时任务<task:annotation-driven/>
    去除ckeditor上传图片预览中的英文字母
    编码规范
    git 手动操作
  • 原文地址:https://www.cnblogs.com/dwtfukgv/p/5648574.html
Copyright © 2011-2022 走看看