# 那你试下我这种
```
#include<bits/stdc++.h>
using namespace std;
int n,m,ans,a[20][20],b[20],c[20];
int dfs(int deep,int res,int v)
{
int j;
if(res==0||deep>n){
if(v>ans){
ans=v;
memcpy(c,b,sizeof(b));
}
return 0;
}
for(j=0;j<=res;++j){
b[deep]=j;
dfs(deep+1,res-j,v+a[deep][j]);
b[deep]=0;
}
}
int main()
{
int i,j;
cin>>n>>m;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
cin>>a[i][j];
dfs(1,m,0);
cout<<ans<<endl;
for(i=1;i<=n;++i)
cout<<i<<" "<<c[i]<<endl;
}
```
## PS:我不会发题解,谁能教我一下?
by 王昱俨 @ 2021-03-07 14:20:25