안녕하세요. 오늘은 전주만 듣고 노래를 맞출 거예요.

문제

https://www.acmicpc.net/problem/31562

아이디어

가장 앞 3개의 문자만 중요하므로 이들을 문자열 형식으로 저장해둡시다.
그리고 입력을 받아서 해당하는 문자열이 몇 개 있는지 확인해주면 됩니다.

소스코드

#include <iostream>
#include <vector>
#include <string>
#define ll long long
using namespace std;

int main(void)
{
	ios_base::sync_with_stdio(false); cin.tie(NULL);
	vector <string> v;
	vector <string> v2;

	ll N, M, len, i;
	string s;
	string a, b, c, d, e, f, g;

	cin >> N >> M;
	for (i = 0; i < N; i++)
	{
		cin >> len >> s;
		v.push_back(s);
		cin >> a >> b >> c >> d >> e >> f >> g;
		v2.push_back(a + b + c);
	}

	for (i = 0; i < M; i++)
	{
		cin >> a >> b >> c;
		a += b; a += c;

		string Ans = "!";
		for (ll j = 0; j < N; j++)
			if (v2[j] == a)
			{
				if (Ans == "!") Ans = v[j];
				else Ans = "?";
			}
		cout << Ans << "\n";
	}
}


감사합니다.

0개의 댓글