#include <vector>
#include <iostream>
#include <math.h>
using namespace std;
 
vector<int> input;
int result[3];
int answer;
 
bool is_prime()
{
    int n = result[0]+result[1]+result[2];
    
    for(int i = 2; i <= sqrt(n); i++)
    {
        if(n % i == 0)
        {
            return false;
        }
    }
    
    return true;
}
 
void DFS(int idx, int cnt)
{
    if(cnt == 3)
    {
        if(is_prime())
        {
            answer++;
        }
        
        return;
    }
    
    for(int i = idx; i < input.size(); i++)
    {
        result[cnt] = input[i];
        DFS(i+1, cnt+1);
    }
}
 
int solution(vector<int> nums) 
{
    input = nums;
    
    DFS(00);
 
    return answer;
}
cs

+ Recent posts