PCCP 모의고사 1회 3번
[PCCP 모의고사 #1] 유전법칙
점화식을 세워서 푸는 문제! 난이도는 쉬운편.
백준으로 치면 실버 2~ 정도의 문제일 듯 함
좋아하는 형식의 문제라서 굳이 올린다.
[세대,차례] 의 형식으로 주어진다.
n번째 세대의 p번째 차례의 완두콩의 유전형식을 구하는 문제.
정말 단순하다!!
#include <string>
#include <vector>
#include <cmath>
using namespace std;
int cong[5]={0,0,1,1,2};
int dfs(int a, int b){
if (a == 2){
return cong[b];
}
int x = b/4;
int y = b%4;
if (y!=0)
x++;
int n = dfs(a-1,x);
if (n == 0)
return 0;
else if (n == 2)
return 2;
else {
if (y == 1)
return 0;
else if (y == 0)
return 2;
else
return 1;
}
}
vector<string> solution(vector<vector<int>> queries) {
vector<string> answer;
for (int i=0; i<queries.size(); i++){
int a = queries[i][0];
int b = queries[i][1];
if (a == 1){
answer.push_back("Rr");
continue;
}
int n = dfs(a,b);
if (n == 0)
answer.push_back("RR");
else if (n == 2)
answer.push_back("rr");
else
answer.push_back("Rr");
}
return answer;
}