#include<bits/stdc++.h>
using namespace std;
typedef long long l;
l n,t[1<<11][1<<11],i,j,k;
vector<l>d[2];
int main(){
	ios_base::sync_with_stdio(0);cin.tie(0);
	cin>>n;
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			cin>>t[i][j];
		}
	}
	long long ans=2e15;
	d[0].resize(n,0);
	d[1].resize(n,ans);
	for(i=1;i<=n;i++){
		for(j=0;j<n;j++){
			if(i==n){
				ans=min(ans,d[0][j]);
				continue;
			}
			int ls=(i&-i);
			for(k=ls;k<ls*2;k++){
				d[1][j^k]=min(d[1][j^k],d[0][j]+t[j][j^k]);
			}
		}
		swap(d[0],d[1]);
		fill(d[1].begin(),d[1].end(),2e15);
	}
	cout<<ans;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |