백준 14935 c++

magicdrill·2024년 3월 5일

백준 문제풀이

목록 보기
96/673

백준 14935 c++

애드혹 알고리즘 : 정형화된 알고리즘이 아니라 특정 상황만을 해결하기 위한 알고리즘.

처음 풀이를 할 때 재귀함수를 통해 답을 얻으려 했지만 재귀함수 종료조건을 구할 수 없었다. 그래서 임의의 수를 계산했을 때 무조건 FA의 결과가 나오는 걸 확인했고, 모든 수에 대해 결국은 FA가 나오는 식으로 풀이했다.

#include <iostream>
#include <string>

using namespace std;

string F(string x)
{
	int front_of_x = x[0] - '0';
	int length_of_x = x.length();
	string next = to_string(front_of_x * length_of_x);

	//cout << x << " " << next << "\n";
	//NFA가 발생하는 경우가 있나?
	/*if (x == next)
	{
		return "FA";
	}
	else
	{
		return F(next);
	}*/
	return "FA";
}

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	string x;

	cin >> x;
	cout << F(x) << "\n";

	return 0;
}

0개의 댓글