zoukankan      html  css  js  c++  java
  • 恋愛SLG-「猫セット」ゲットチャレンジ!

    「猫セット」ゲットチャレンジ!

     paizaランクC相当問題
    Poh7 question box top

    ある半角小文字アルファベット "c", "a", "t" で構成される文字列 S が与えられます。
    文字列 Sに 含まれる "c", "a", "t" を1つずつ集め "cat" という文字列をあなたは作ろうとしています。

    "cat" と完全に作れる個数、余った "c", "a", "t" から "cat" を作るのに必要なそれぞれの個数を求め
    完全に作れる個数、必要な "c" の個数、必要な "a" の個数、必要な "t" の個数の順に改行区切りで出力して下さい。

    例えば

    ctacct

    と入力された場合

    c が 3文字 a が 1文字 t が 2文字
    となり "cat" は1つ作ることができ、 "c" が2つ "t" が1つ余ります。
    "a" があと 2つ、 "t" があと1つで2つの "cat" が作ることができるので
    1
    0
    2
    1

    入力される値

    入力は標準入力にて以下のフォーマットで与えられます。

    S

    入力値最終行の末尾に改行が1つ入ります。

    条件

    すべてのテストケースにおいて、以下の条件をみたします。

    1 ≦ 文字列 S の長さ ≦ 100

    S は半角小文字アルファベット "c", "a", "t" で構成された文字列

    期待する出力

    文字列 S から "cat" と完全に作れる個数、余った "c", "a", "t" から "cat" を作るのに必要なそれぞれの個数を求め、完全に作れる個数、必要な "c" の個数、必要な "a" の個数、必要な "t" の個数の順に改行区切りで出力して下さい。

    最後は改行し、余計な文字、空行を含んではいけません。

    入力例1

    入力

    ctacct

    出力

    1
    0
    2
    1

    入力例2

    入力

    cccc

    出力

    0
    0
    4
    4

     
    oj网址:https://paiza.jp/poh/ando/mypage/c5894afb  
     
    拿到猫 的题目 这个oj的问题都不难 问题应该是在读题
    这题的题意是给一串字符串 然后问当前字符串能组成多少个cat 输出
    然后还要输出 c a t个数的最大值减去当前值
     
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <algorithm>
    #include <queue>
    #include <vector>
    #include <iomanip>
    #include <math.h>
    #include <map>
    using namespace std;
    #define FIN     freopen("input.txt","r",stdin);
    #define FOUT    freopen("output.txt","w",stdout);
    #define INFLL   0x3f3f3f3f3f3f3f
    #define lson    l,m,rt<<1
    #define rson    m+1,r,rt<<1|1
    typedef long long LL;
    typedef pair<double, double> PII;
    
    int main() {
        //FIN
        char s[105];
        while(cin >> s) {
            int c = 0, a = 0, t = 0;
            for(int i = 0; i < strlen(s); i++) {
                if(s[i] == 'c') c++;
                else if(s[i] == 'a') a++;
                else if(s[i] == 't') t++;
            }
            int minn = min(a, min(t, c));
            int maxx = max(a, max(t, c));
            cout << minn << endl;
            cout << maxx - c << endl;
            cout << maxx - a << endl;
            cout << maxx - t << endl;
    
    
        }
    
        return 0;
    }
    

      

  • 相关阅读:
    jieba的使用
    如何用python查看自己的电脑有几个核
    NLTK实现文本切分
    nltk的安装和简单使用
    初识NLP 自然语言处理
    mysql 查询存在A表中而不存在B表中的数据
    mysql 导出数据报错: row must be in range 0-65535
    python3 re模块正则匹配字符串中的时间信息
    Python语法速查: 14. 测试与调优
    Python语法速查: 20. 线程与并发
  • 原文地址:https://www.cnblogs.com/Hyouka/p/7452077.html
Copyright © 2011-2022 走看看