본문 바로가기

Algorithm/Brute Force

(C++) - 백준(BOJ) 6030 : Scavenger Hunt

반응형

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

 

6030번: Scavenger Hunt

Farmer John has scattered treats for Bessie at special places in the pasture.  Since everyone knows that smart cows make tasty milk, FJ has placed the treats at locations that require Bessie to think. He has given her two numbers, P and Q (1 <= P <= 6,000

www.acmicpc.net

모든 경우의 수를 탐색하는 brute force문제였습니다.

📕 풀이방법

📔 입력 및 초기화

p, q를 선언한 후 입력받습니다.

📔 풀이과정

p와 q에 대해 각각 getFactor함수를 수행합니다.

1 ~ range까지 for loop를 수행하면서 약수를 구해줍니다.

약수를 구한 뒤에 vector를 반환합니다. 이를 pFactor, qFactor에 각각 저장해줍니다.

📔 정답출력

모든 경우의 수를 pFactor, qFactor의 원소에 대해 이중 for loop를 수행하면서 적절히 출력해줍니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
int p, q;
vector <int> pFactor, qFactor;

vector <int> getFactor(int range){
  vector <int> factor;
  for(int i = 1; i <= range; i++){
    if(range % i == 0) factor.push_back(i);
  }
  return factor;
}

int main(){
  cin >> p >> q;
  pFactor = getFactor(p);
  qFactor = getFactor(q);
  for(auto pf : pFactor){
    for(auto qf : qFactor){
      cout << pf << ' ' << qf << '\n';
    }
  }
}