λ¬Έμ
μ½λ
#include <iostream>
#include <memory.h>
using namespace std;
int map[11][11];
int ans;
int visited[11];
void dfs(int peo, int sum){
if(peo == 11){
ans = max(ans, sum);
return;
}
for(int i=0; i<11; i++){
if(map[peo][i] && !visited[i]){
visited[i] = 1;
dfs(peo+1, sum + map[peo][i]);
visited[i] = 0;
}
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int T; cin>>T;
while(T--){
for(int i=0; i<11; i++){
for(int k=0; k<11; k++){
cin>>map[i][k];
}
}
dfs(0,0);
cout<<ans<<'\n';
ans = 0;
memset(visited, 0, sizeof(visited));
}
}
νμ΄
11λͺ
μ μ μκ° ν¬μ§μ
μ μ ννμ λ κ·Έ ν¬μ§μ
μ μ μμ ν©μ΄ μ΅λκ° λλ κ°μ μΆλ ₯νλ μ νμ μΈ backtracking λ¬Έμ μμ΅λλ€. λ°λ‘ ν¬κ² λΆμ°μ μΌλ‘ μ€λͺ
ν λΆλΆμ μλ κ² κ°μ΅λλ€.
'Algorithm π§π»βπ» > λ°±μ€(BOJ)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€,c++] 18429λ² - κ·Όμμ€ (0) | 2022.08.23 |
---|---|
[λ°±μ€,c++] 15658λ² - μ°μ°μ λΌμλ£κΈ° (2) (0) | 2022.08.23 |
[λ°±μ€,c++] 6443λ² - μ λκ·Έλ¨ (0) | 2022.08.21 |
[λ°±μ€,c++] 2580λ² - μ€λμΏ (0) | 2022.08.21 |
[λ°±μ€,c++] 2661λ² - μ’μμμ΄ (0) | 2022.08.21 |
[λ°±μ€,c++] 18430λ² - 무기 곡ν (0) | 2022.08.21 |
λκΈ