1052

作者: 峡迩 | 来源:发表于2017-09-04 14:47 被阅读0次
// 超时》????
//

#include "stdafx.h"
#include<iostream>
#include<string>
#include<vector>
#include<regex>

using namespace std;
using namespace std::regex_constants;

int main()

{
    string s1,s2,s3;
    getline(cin, s1);
    getline(cin, s2);
    getline(cin, s3);

    /*string s1 = "[╮][╭][o][~\\][/~]  [<][>]";     //hand
    string s2 = "[╯][╰][^][-][=][>][<][@][⊙]";  //eye
    string s3 = "[Д][▽][_][ε][^]";              //mouse
    */
    vector<string> input_info;
    input_info.push_back(s1);
    input_info.push_back(s2);
    input_info.push_back(s3);

    vector<vector<string>> data(3,vector<string>());

    string format = "\\[([^\\[\\]]{1,4})\\]";       //[]为转义字符!sregex_iterator所查询的字符串必须为string类型!
    regex r(format);
    for (size_t i = 0; i < 3; ++i)
    {
        for (sregex_iterator it(input_info[i].begin(), input_info[i].end(), r), end_it; it != end_it; ++it)
        {
            data[i].push_back((*it)[1].str());
        }
    }

    int k,tmp;
    cin >> k;

    vector<vector<int>> face_id(k,vector<int>());
    for (int i = 0; i < k; ++i)
    {
        for (int j = 0; j < 5;++j)
        {
            cin >> tmp;
            face_id[i].push_back(tmp);
            
        }
    }

    for (int j = 0; j < k; ++j)
    {
        string face;
        bool has_face = true;
        for (size_t i = 0; i < 5; ++i)
        {
            if (i == 0 || i == 4)
            {
                size_t tmp=face_id[j][i]-1;
                if (tmp >= data[0].size())
                    has_face = false;
                else
                {
                    face = face + data[0][tmp];
                }
                
            }
            
            if (i == 1 || i == 3)
            {
                size_t tmp = face_id[j][i] - 1;
                if (tmp >= data[1].size())
                    has_face = false;
                else
                {
                    face = face + data[1][tmp];
                }

            }
            if (i == 2)
            {
                size_t tmp = face_id[j][i] - 1;
                if (tmp >= data[2].size())
                    has_face = false;
                else
                {
                    face = face + data[2][tmp];
                }
            }

            if (i == 0)
                face = face + "(";
            if (i == 3)
                face = face + ")";
        }

        if (has_face)
            cout << face;
        else
            cout <<"Are you kidding me? @\\/@";
        if (j != (k - 1))
            cout << endl;

    }



    system("pause");
    return 0;
}

相关文章

网友评论

      本文标题:1052

      本文链接:https://www.haomeiwen.com/subject/eydejxtx.html