大佬,最后一道题这么做可以吗?很多样例做了测试,和你的答案一样。 #include<iostream> #include<algorithm> using namespace std; int main() { vector<int>g{1,1,1,0}; vector<int>j{1,1,0,0}; int sg = 1,sj = 1,sx = 0; int n = g.size(); for(int i=1; i<g.size(); i++) { int tmpg = sg; int tmpj = sj; int tmpx = sx; if(g[i] && j[i]) { sg = max(tmpx,tmpj) + 1; sj = max(tmpx,tmpg) + 1; }else if(!g[i] && !j[i]){ if(tmpg == tmpj) { sx = (tmpg + tmpj) / 2; }else{ sx = max(tmpg,tmpj); } }else if(g[i]){ sg = max(tmpx,tmpj) + 1; }else{ sj = max(tmpx,tmpg) + 1; } }  cout<<n - max(max(sg,sx),sj);     return 0; }
点赞 5

相关推荐

2025-12-18 11:59
广州南方学院 C++
牛客78682892...:直接点还好,总比要了简历也不回的强
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务