L과 R을 포함하는 n개의 범위가 있다고 가정합니다. 주어진 n – 1 범위의 다른 모든 범위를 포함하는 범위를 기반으로 0의 인덱스를 확인하거나 찾아야 합니다. 해당 범위가 없으면 -1을 표시합니다. 예를 들어, L =[2, 4, 3, 1]이고 R =[4, 6, 7, 9]이면 출력은 3입니다. 따라서 세 번째 인덱스(1에서 9까지)의 범위가 모든 다른 n – 1 범위의 요소.
모든 L 및 R 점이 구별되므로 가장 작은 L 및 가장 큰 R 점의 범위를 찾으십시오. 둘 다 동일한 범위이면 다른 모든 범위가 그 안에 있음을 나타냅니다. 그렇지 않으면 불가능합니다.
예
#include<iostream> using namespace std; int fact (int n) { if (n == 0) return 1; return n * fact(n-1); } void showRange(int n) { int a = fact(n + 2) + 2; int b = a + n - 1; cout << "[" << a << ", " << b << "]"; } int main() { int n = 3 ; showRange(n); }
출력
[122, 124]