36 lines
433 B
C++
36 lines
433 B
C++
#include<iostream>
|
|
#include<cstring>
|
|
using namespace std;
|
|
int n,a[30][30],mi;
|
|
bool b[30];
|
|
|
|
void go(int x,int s)
|
|
{
|
|
if (s>=mi) return;
|
|
if (x>n)
|
|
{
|
|
mi=s;
|
|
return;
|
|
}
|
|
int i;
|
|
for (i=1;i<=n;i++)
|
|
if (!b[i])
|
|
{
|
|
b[i]=true;
|
|
go(x+1,s+a[i][x]);
|
|
b[i]=false;
|
|
}
|
|
}
|
|
int main()
|
|
{
|
|
int i,j;
|
|
cin>>n;
|
|
for (i=1;i<=n;i++)
|
|
for (j=1;j<=n;j++)
|
|
cin>>a[i][j];
|
|
mi=999999999;
|
|
memset(b,0,sizeof(b));
|
|
go(1,0);
|
|
cout<<mi<<endl;
|
|
return 0;
|
|
} |