Submission #4608297


Source Code Expand

#include <iostream>
#include <sstream>
#include <vector>
#include <numeric>
#include <algorithm>
#include <cmath>
#include <string>
#include <map>
#include <iomanip>
#include <string>
#include <boost/algorithm/string/replace.hpp>
using namespace std;

//関数getinputdata宣言
vector<vector<string>> getinputdata();
vector<vector<int>> getinputdata2();
vector<vector<double>> getinputdata3();

void code_festival_qualB_c(vector<vector<string>> v) {


    string s1 = v[0][0];
    string s2 = v[1][0];
    string s3 = v[2][0];
    int l = s1.size() / 2;

            map<char, int> h1;
    map<char, int> h2;
    map<char, int> h3;

    for (auto v : s1) {

        h1[v] += 1;
    }

    for (auto v : s2) {

        h2[v] += 1;
    }

    for (auto v : s3) {

        h3[v] += 1;
    }


    int cnt1 = 0;
    int cnt2 = 0;

    for (auto x : h3) {

        char k = x.first;
        int v = x.second;

        cnt1 += min(v, h1[k]);
        cnt2 += min(v, h2[k]);

    }

    if (cnt1 >= l && cnt2 >= l) {
        
        cout << "YES" << endl;
     } else {
        cout << "NO" << endl;
    }








}

int main() {

    vector<vector < string>> vec_arr_result;
    //    vector<vector<int>> vec_arr_result;
    vec_arr_result = getinputdata();

    code_festival_qualB_c(vec_arr_result);

    return 0;
}

//関数getinputdata実装

vector<vector<double>> getinputdata3() {

    string str;
    string ret;
    stringstream ss;
    vector<string> v1;
    vector<vector<double>> vec_arr;

    //標準入力から入力がある間ループ処理でvector配列にデータ格納
    while (getline(cin, str)) {

        v1.push_back(str);

    }

    //stringstreamを利用してvector配列v1をスペースで分解処理
    for (string s : v1) {

        vector<double> array_data;
        ss << s;

        while (!ss.eof()) {

            ss >> ret;

            array_data.push_back(atof(ret.c_str()));
        }

        //vector配列に追加
        vec_arr.push_back(array_data);

        //バッファクリア
        ss.str("");
        //ストリームクリア
        ss.clear(stringstream::goodbit);

    }

    return vec_arr;
}

//関数getinputdata実装

vector<vector<int>> getinputdata2() {

    string str;
    string ret;
    stringstream ss;
    vector<string> v1;
    vector<vector<int>> vec_arr;

    //標準入力から入力がある間ループ処理でvector配列にデータ格納
    while (getline(cin, str)) {

        v1.push_back(str);

    }

    //stringstreamを利用してvector配列v1をスペースで分解処理
    for (string s : v1) {

        vector<int> array_data;
        ss << s;

        while (!ss.eof()) {

            ss >> ret;

            array_data.push_back(atoi(ret.c_str()));
        }

        //vector配列に追加
        vec_arr.push_back(array_data);

        //バッファクリア
        ss.str("");
        //ストリームクリア
        ss.clear(stringstream::goodbit);

    }

    return vec_arr;


}

//関数getinputdata実装

vector<vector < string >> getinputdata() {

    string str;
    string ret;
    stringstream ss;
    vector<string> v1;
    vector<vector < string>> vec_arr;

    //標準入力から入力がある間ループ処理でvector配列にデータ格納
    while (getline(cin, str)) {

        v1.push_back(str);

    }

    //stringstreamを利用してvector配列v1をスペースで分解処理
    for (string s : v1) {

        vector<string> array_data;
        ss << s;

        while (!ss.eof()) {

            ss >> ret;

            array_data.push_back(ret);
        }

        //vector配列に追加
        vec_arr.push_back(array_data);

        //バッファクリア
        ss.str("");
        //ストリームクリア
        ss.clear(stringstream::goodbit);

    }

    return vec_arr;

}

Submission Info

Submission Time
Task C - 錬金術士
User senshi2000
Language C++14 (GCC 5.4.1)
Score 100
Code Size 4059 Byte
Status AC
Exec Time 18 ms
Memory 1024 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 40
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
subtask1_01.txt AC 15 ms 1024 KB
subtask1_02.txt AC 3 ms 256 KB
subtask1_03.txt AC 18 ms 1024 KB
subtask1_04.txt AC 13 ms 896 KB
subtask1_05.txt AC 15 ms 1024 KB
subtask1_06.txt AC 8 ms 640 KB
subtask1_07.txt AC 12 ms 768 KB
subtask1_08.txt AC 6 ms 640 KB
subtask1_09.txt AC 9 ms 640 KB
subtask1_10.txt AC 11 ms 640 KB
subtask1_11.txt AC 13 ms 896 KB
subtask1_12.txt AC 16 ms 1024 KB
subtask1_13.txt AC 9 ms 640 KB
subtask1_14.txt AC 11 ms 768 KB
subtask1_15.txt AC 16 ms 1024 KB
subtask1_16.txt AC 5 ms 384 KB
subtask1_17.txt AC 4 ms 384 KB
subtask1_18.txt AC 11 ms 640 KB
subtask1_19.txt AC 9 ms 640 KB
subtask2_01.txt AC 1 ms 256 KB
subtask2_02.txt AC 1 ms 256 KB
subtask2_03.txt AC 1 ms 256 KB
subtask2_04.txt AC 1 ms 256 KB
subtask2_05.txt AC 1 ms 256 KB
subtask2_06.txt AC 1 ms 256 KB
subtask2_07.txt AC 1 ms 256 KB
subtask2_08.txt AC 1 ms 256 KB
subtask2_09.txt AC 1 ms 256 KB
subtask2_10.txt AC 1 ms 256 KB
subtask2_11.txt AC 2 ms 256 KB
subtask2_12.txt AC 1 ms 256 KB
subtask2_13.txt AC 2 ms 256 KB
subtask2_14.txt AC 1 ms 256 KB
subtask2_15.txt AC 2 ms 256 KB
subtask2_16.txt AC 1 ms 256 KB
subtask2_17.txt AC 1 ms 256 KB
subtask2_18.txt AC 1 ms 256 KB
subtask2_19.txt AC 1 ms 256 KB