关注
附加题用全排列暴力做出来了。。。
void Swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
void Permutation(vector<int> &vec, int start, int end, vector<vector<int>> &vecBig)
{
if(start == end)
{
vecBig.push_back(vec);
}
else
{
for(int i = start; i<= end; ++i)
{
Swap(vec[i], vec[start]);
Permutation(vec, start+1, end, vecBig);
Swap(vec[i], vec[start]);
}
}
}
int main()
{
int n;
cin>>n;
vector<vector<int>> vecBig;
for(int i = 0; i<=n; ++i)
{
vector<int> vecTemp;
string str;
getline(cin, str);
for(int j = 0; j< str.size(); ++j)
{
if(str[j] == ',')
str[j] = ' ';
}
istringstream ss(str);
int num;
while(ss>>num)
{
vecTemp.push_back(num);
}
if(i!= 0)
{
vecBig.push_back(vecTemp);
}
}
vector<int> vect;
for(int i = 0; i< n; ++i)
{
vect.push_back(i);
}
vector<vector<int>> vec;
Permutation(vect, 0, n-1, vec);
int min = 99999;
for(int i = 0; i< vec.size(); ++i)
{
int curMid = 0;
vector<int> vect = vec[i];
int pre = vect[0];
for(int j = 1; j<vect.size(); ++j)
{
int cur = vect[j];
curMid +=vecBig[pre][cur];
pre = cur;
}
if(curMid<min)
min = curMid;
}
cout<<min<<endl;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
转发
牛客热帖
正在热议
# 和牛牛一起刷题打卡 #
4150次浏览 403人参与
# 机械制造薪资爆料 #
340391次浏览 4037人参与
# 牛客帮帮团来啦!有问必答 #
978172次浏览 15178人参与
# 通信硬件薪资爆料 #
241482次浏览 2277人参与
# 腾讯工作体验 #
146087次浏览 1405人参与
# 如何写一份好简历 #
300144次浏览 4321人参与
# 你的简历改到第几版了 #
322916次浏览 4851人参与
# 晒一晒我的offer #
3647066次浏览 56888人参与
# 2022毕业生求职现身说法 #
20229次浏览 309人参与
# 产品人专业大盘点 #
15036次浏览 120人参与
# 浅聊一下我实习的辛苦费 #
93063次浏览 913人参与
# 毕业租房也有小确幸 #
31374次浏览 1720人参与
# 实习必须要去大厂吗? #
17872次浏览 263人参与
# 为什么国企只招应届生 #
55803次浏览 407人参与
# 你觉得机械有必要实习吗 #
10021次浏览 130人参与
# 视觉/交互/设计岗位评价 #
3349次浏览 59人参与
# 为什么那么多公司毁约 #
54533次浏览 481人参与
# 投了多少份简历才上岸 #
66314次浏览 1044人参与
# 2022毕业的你对23届的寄语 #
16181次浏览 347人参与
# 通信/硬件的薪资开多少,才值得去? #
12314次浏览 150人参与