C언어/문제풀다 하나씩

가장 큰 숫자 작은 숫자 찾기. 비효율적임

mcdn 2020. 5. 27. 19:08
반응형
#include <iostream>
#include <string>
using namespace std;
int arr[5];
int maxx = -21e7;
int minn = 21e8;
int path[6];
int sum;
int used[6];
void findingmax(int lev, int wht) {
	if (lev == 5) {
		sum = (path[0] * path[1]) - (path[2] * path[3]) + path[4];
		if (sum > maxx) {
			maxx = sum;
		}
		if (sum < minn) {
			minn = sum;
		}
		return;

	}
	for (int i = 0; i < 5;i++) {
		if (used[i] == 0) {
			used[i] = 1;
			path[lev] = arr[i];
			findingmax(lev + 1, wht);
			path[lev] = 0;
			used[i] = 0;
		}
	}
}

int main() {
	for (int i = 0; i < 5;i++) {
		cin >> arr[i];
	}
	findingmax(0, 0);
	cout << maxx << endl<<minn;


}

더 좋은 방법이 없을까...

 

입력 예제

1 2 3 4 5

출력 결과

21

-15

 

 

반응형