恋愛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;
}

  

原文地址:https://www.cnblogs.com/Hyouka/p/7452077.html