UVa 836 - Largest Submatrix ( 最大01矩阵)
2013-05-24 20:29
477 查看
求所有连续1的最大和。
/************************************************************************* > File Name: 836.cpp > Author: Toy > Mail: ycsgldy@163.com > Created Time: 2013年05月24日 星期五 13时34分16秒 ************************************************************************/ #include <algorithm> #include <iostream> #include <iomanip> #include <cstring> #include <cstdlib> #include <climits> #include <sstream> #include <fstream> #include <cstdio> #include <string> #include <vector> #include <queue> #include <cmath> #include <stack> #include <map> #include <set> using namespace std; const int INF = 0x7fffffff; int Case, cnt, len, A[30][30]; int max1D ( int a[] ) { int ans = -INF; int s = 0; for ( int i = 0; i < len; ++i ) { if ( a[i] != 0 ) s += a[i]; else s = a[i]; ans = max ( ans, s ); } return ans; } int max2D ( int a[][30] ) { int ans = -INF; int s[30]; for ( int i = 0; i < len; ++i ) { memset ( s, 0, sizeof ( s ) ); for ( int j = i; j < len; ++j ) { for ( int k = 0; k < len; ++k ) { if ( j == i ) s[k] += a[j][k]; else { if ( s[k] != 0 && a[j][k] != 0 ) s[k] += a[j][k]; else s[k] = 0; } // printf ( "%d ", s[k] ); } //printf ( "\n" ); ans = max ( ans, max1D ( s ) ); } } return ans; } int main ( ) { char str[30]; int first = 1; scanf ( "%d", &Case ); while ( Case-- ) { if ( first ) first = 0; else printf ( "\n" ); len = 30; for ( int i = 0; i < len; ++i ) { scanf ( "%s", str ); for ( int j = 0; j < len; ++j ) A[i][j] = str[j] - '0'; len = strlen ( str ); } printf ( "%d\n", max2D ( A ) ); } return 0; }
相关文章推荐
- UVA 836 Largest Submatrix(01矩阵求和)
- HDU-2870 Largest Submatrix (线性dp 最大01矩阵)(2009 Multi-University Training Contest 7 )
- HDU 2870 Largest Submatrix(最大子矩阵面积)
- UVA--836 Largest Submatrix
- HDU2870_Largest Submatrix【最大完全子矩阵】
- UVa:836 Largest Submatrix
- uva 836 Largest Submatrix
- Largest Submatrix-最大子矩阵-HDU-2870
- UVa 836 - Largest Submatrix
- UVa 836 - Largest Submatrix
- UVa 836 - Largest Submatrix
- HDU 2870 Largest Submatrix(最大完全子矩阵之不可移动列)
- Largest Submatrix of All 1’s 单调栈求最大子矩阵
- hdu 2870 Largest Submatrix(最大子矩阵变式)
- hdu 2870 Largest Submatrix 最大子矩阵
- POJ 3494 Largest Submatrix of All 1's(最大全1子矩阵面积、单调栈)
- HDU 2870 Largest Submatrix DP求最大子矩阵
- HDU 2870 Largest Submatrix (找最大子矩阵)
- HDU 2870 Largest Submatrix (最大子矩阵)
- [CareerCup] 18.12 Largest Sum Submatrix 和最大的子矩阵