LQ训练营(C++)学习笔记_枚举算法
生活随笔
收集整理的這篇文章主要介紹了
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++)学习笔记_枚举算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新苹果iOS设备好评排名发布:七年前的
- 下一篇: s3c2440移植MQTT