首页 > 代码库 > pojj2531
pojj2531
#include<iostream> using namespace std; int n; int map[21][21]; int c1[21],c2[21]; int count1,count2; int maxsum; void dfs(int step,int count1, int count2) { if(step==n) { int sum=0; for(int i=0;i<count1;i++) { for(int j=0;j<count2;j++) { sum=sum+map[c1[i]][c2[j]]; if(sum>maxsum) maxsum=sum; } } return; } int temp1=count1; c1[temp1]=step; dfs(step+1,count1+1,count2); c1[temp1]=0; int temp2=count2; c2[temp2]=step; dfs(step+1,count1,count2+1); c2[temp2]=0; } int main() { //freopen("input.txt","r",stdin); cin>>n; for(int i=0;i<n;i++) for(int j=0;j<n;j++) cin>>map[i][j]; for(int i=0;i<n;i++) { c1[i]=-1; c2[i]=-1; } maxsum=0; dfs(0,0, 0); cout<<maxsum; return 0; }
pojj2531
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。