欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

LQ训练营(C++)学习笔记_枚举算法

发布时间:2023/12/15 c/c++ 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 LQ训练营(C++)学习笔记_枚举算法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

枚举算法

  • 一、枚举算法
    • 1、枚举的概念
    • 2、枚举的题目特点
    • 3、问题描述
    • 4、代码实现

一、枚举算法

1、枚举的概念

枚举就是根据提出的问题,列出该问题所有可能的解,并在逐一列出的过程中,检验每个可能的解是否是问题真正的解,如果是就采纳这个解,如果不是就判断下一个。

2、枚举的题目特点

解枚举的范围是有穷的,检验条件是确定的。

3、问题描述

给定一个n*m的矩阵,求A中的一个非空子矩阵,使这个子矩阵中元素和最大,其中,A的子矩阵指在A中行和列均连续的一部分。

4、代码实现

#include<iostream> using namespace std; int main(){int n,m,ans;cin>>n>>m;ans=-1005;for(int i=0;i<n;i++){for(int j=0;j<mlj++){cin>>A[i][j];}}for(int i=0;i<n;i++){for(int j=i;j<n;j++){for(int k=0;k<m;k++){for(int l=k;l<m;l++){int tmp=0;for(int p=i;p<=j;p++){for(int q=k;q<=l;q++){tmp +=A[p][q]}}if(tmp>ans){ans=tmp;}}}}}cout<<ans<<endl; }

总结

以上是生活随笔为你收集整理的LQ训练营(C++)学习笔记_枚举算法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。