头像
会哥哥
发布于 2020-02-28 23:48
+ 关注

求救

我使用二维向量,并多出一行一列来存放每行每列的和,操作一次就更新权值和每行每列的和,但是通过95,请大佬看看我是少考虑什么了吗?不胜感激

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    int n,m,k;
    cin>>n>>m>>k;
    int i=0,j=0;
 int score=0;
    vector<vector<int> > vec(n+1,vector<int>(m+1));
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            cin>>vec[i][j];
        }
    }
 while(k!=0)
 {
  for(i=0;i<n;i++)
   for(j=0;j<m;j++)
    vec[i][m]+=vec[i][j];
  for(j=0;j<m;j++)
   for(i=0;i<n;i++)
    vec[n][j]+=vec[i][j];
  int score_raw=0;
  int raw=0;
  int score_col=0;
  int col=0;
  for(i=0;i<n;i++)
  {
   if(vec[i][m]>score_raw)
   {
    score_raw=vec[i][m];
    raw=i;
   }
  }
  for(j=0;j<m;j++)
  {
   if(vec[n][j]>score_col)
   {
    score_col=vec[n][j];
    col=j;
   }
  }
  if(score_raw>score_col)
  {
   score+=score_raw;
   for(j=0;j<m;j++)
   {
    vec[raw][j]=0;
   }
  }
  else
  {
   score+=score_col;
   for(i=0;i<n;i++)
   {
    vec[i][col]=0;
   }
  }
  for(i=0;i<n;i++)
   for(j=0;j<m;j++)
    vec[i][m]=0;
  for(j=0;j<m;j++)
   for(i=0;i<n;i++)
    vec[n][j]=0;
  k--;
 } 
 cout<<score;
    return 0;
}

全部评论

(1) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐