错行选数
给定一个n*n的矩阵,选出n个位置,使得这n个位置的和最小,并且满足每一行有且仅有一个选中的点,每一列有且仅有一个选中的点。
输入
第一行一个整数n (1 ≤ n ≤ 20),表示矩阵大小。
接下来n行,每行n个整数,为该矩阵。
输出
一个整数,最小的和。
输入样例 1
3
4 2 5
2 3 6
3 4 5
输出样例 1
9
大佬能帮忙看一下错在哪了吗?```
#include<bits/stdc++.h>
using namespace std;
int n,a[21],b[21],ans,cnt,sum;
int main()
{
cin>>n;
for(int i=1;i<=n;++i)
cin>>a[i];
for(int j=1;j<=n;++j)
cin>>b[j];
for(int i=1;i<=n;++i)
{
cnt=min(a[1],a[i]);
}
for(int j=1;j<=n;++j)
{
sum=min(b[1],b[j]);
}
if(cnt==sum)
ans+=cnt;else
ans=ans;
cout<<ans;
}