Example #1
0
int optimal()
{
  paths.clear();
  visited.clear();

  paths.insert(paths.begin(),h,vi(w,0));
  visited.insert(visited.begin(),h,vb(w,false));
  
  for(int i=0;i<w;++i)
    populate(0,i);
  
  int m=paths[0][0];
  for(int i=1;i<w;++i)
    if(paths[0][i]>m) m=paths[0][i];
  return m;
}
Example #2
0
int main()
{
  int t;
  scanf("%d",&t);

  for(int i=0;i<t;++i)
  {
    scanf("%d %d",&h,&w);
    stones.clear();
    stones.insert(stones.begin(),h,vi(w,0));
    for(int i=0;i<h;++i)
      for(int j=0;j<w;++j)
        scanf("%d",&stones[i][j]);
    cout<< optimal() <<endl;
  }
  return 0;
}