cosmohoo
2021. 11. 13. 01:54
반응형
제한사항
- 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다.
- 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다.
- 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다.
입출력 예
brown yellow return
10 | 2 | [4, 3] |
8 | 1 | [3, 3] |
24 | 24 | [8, 6] |
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int brown, int yellow) {
vector<int> answer;
int area = brown + yellow;
for(int width =1; width <= area/2; width++ )
{
for(int height =1; height <= width; height++)
{
int mul = width*height;
if(mul == area)
{
if( (width-2)*(height-2) ==yellow )
{
answer.push_back(width); answer.push_back(height);
break;
}
else continue;
}
}
if(!answer.empty()) break;
}
return answer;
}
=> 문제에 주어진대로 풀면 되는 문제입니다. (완전탐색)
=> (WIDTH-2) * (HEIGHT-2) = yellow라는 제한사항을 넣어주어야하는 문제입니다.
=> 해당문제에는 제한사항이 안적혀있어 질문에 있는 팁을 보고 풀었습니다.
=> 원문제에는 해당 제한사항이 적혀있다고 합니다.
반응형