BOJ 25308 방사형 그래프

1 개요[ | ]

BOJ 25308 방사형 그래프

2 C++[ | ]

#include <bits/stdc++.h>
using namespace std;

int a[8] = {};
int b[8] = {};
bool visited[8] = {};
int answer = 0;

void check() {
    for(int i=0; i<8; i++) {
		int x = b[i];
		int y = b[(i+1)%8];
		int z = b[(i+2)%8];
		if (sqrt(2)*x*z > y*(x+z)) {
			return;
		}
	}
	answer++;
}

void dfs(int cnt) {
	if (cnt == 8) {
	    check();
	    return;
	}
	for(int i=0; i<8; i++) {
		if (visited[i]) continue;
		visited[i] = true;
		b[cnt] = a[i];
		dfs(cnt + 1);
		visited[i] = false;
	}
}

void solve() {
	dfs(0);
	cout << answer;
}

int main() {
    ios::sync_with_stdio(0);
	cin.tie(0);
	for(int i=0; i<8; i++) {
		cin >> a[i];
	}
	solve();
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}