两道题其实都挺简单的,但是都是在奇怪的地方可能引起歧义或者卡住。    第一题的意思,被消除的部分在初始是“连续的区域”就叫连续消除,不一定需要在时间上同一轮或者连续。    我是用了一个栈来模拟这个过程,然后记录下来被消除的初始位置,然后再扫描一遍找连续区域的最大值。 #include<bits/stdc++.h>using namespace std;struct node{   int pos;  //初始位置   char c;  //字符,‘1’或‘0’   node(int p,char c1){      pos=p;c=c1;   }};int getLongest(string s){   stack<node> sta;   int leng=s.size();   vector<bool> canmove(leng,0);   for(int i=0;i<leng;i++){      if(s[i]=='1'){         sta.push(node(i,'1'));      }      else{         if(!sta.empty()&&sta.top().c=='1'){            canmove[sta.top().pos]=1;            canmove[i]=1;            sta.pop();         }         else{            sta.push(node(i,'0'));         }      }   }   int res=0;   int i=0;   while(i<leng){      while(i<leng&&!canmove[i])i++;      int templeng=0;      while(i<leng&&canmove[i]){         templeng++;i++;      }      if(templeng>res)res=templeng;   }   return res;}int main(){   string s;   cin>>s;   cout<<getLongest(s)<<endl;} 第二题是很简单的动态规划,dp[i][j]=max(dp[i+1][j],dp[i][j+1])+girft[i][j],处理一下边界即可,主要是他这个输入太坑爹了,他输入的就是“[[1,2,3],[1,3,1],[4,5,6]]”带括号和逗号一块输入的,要手动分离开开,    我是用的一个字符变量和一个整形变量接收输入,根据字符变量是逗号或者左括号判断下一个是数字,还是换行,还是结束  #include<bits/stdc++.h>using namespace std;int result(vector<vector<int>> girft){   int xleng=girft.size();   int yleng=girft[0].size();   vector<vector<int>> dp(xleng,vector<int>(yleng));   dp[xleng-1][yleng-1]=girft[xleng-1][yleng-1];   for(int i=xleng-2;i>-1;i--)dp[i][yleng-1]=dp[i+1][yleng-1]+girft[i][yleng-1];   for(int i=yleng-2;i>-1;i--)dp[xleng-1][i]=dp[xleng-1][i+1]+girft[xleng-1][i];   for(int i=xleng-2;i>-1;i--){      for(int j=yleng-2;j>-1;j--){         dp[i][j]=girft[i][j]+max(dp[i+1][j],dp[i][j+1]);      }   }   return dp[0][0];}int main(){   char c;   vector<vector<int>> get;   cin>>c;   while(1){      cin>>c;      int num;      vector<int> temp;      while(c!=']'){         cin>>num>>c;         temp.push_back(num);      }      get.push_back(temp);      cin>>c;      if(c==']')break;   }   cout<<result(get)<<endl;}
点赞 2
评论 4
全部评论

相关推荐

投递阿里巴巴控股集团等公司7个岗位 >
点赞 评论 收藏
转发
头像
不愿透露姓名的神秘牛友
04-08 00:50
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务