文章

10

粉丝

165

获赞

7

访问

25.7k

头像
最小面积子矩阵 题解:
P1285 上海交通大学机试题
发布于2023年10月11日 10:01
阅读数 959

可以利用尺取法解决这个问题

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#define MAX 102

int matrix[MAX][MAX];
int tr[MAX];

int merge(int n, int goal) {
    int ans = -1;
    int start = 0, end = 0, sum = 0;
    while (end < n) {
        if (sum < goal)
            sum += tr[end];
        while (sum >= goal) {
            int len = end - start + 1;
            if (ans == -1) ans = len;
            else if (len < ans) ans = len;
            sum -= tr[start++];
        }
        ++end;
    }
    return ans;
}

int main(int argc, char const *argv[])
{
    int n, m, k;
    while(scanf("%d %d %d",&n, &m, &k) != EOF) {
       for(int i = 0; i < n; i++) {
        for(int j = 0; j < m; j++) {
            scanf("%d",&matrix[i][j]);
        }
       }

       int ans = n*m + 1;
       for(int i = 0; i < m; i++) {
            memset(tr,0,sizeof(tr));
            for(int ...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发