栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 2444 Partition a Matrix

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 2444 Partition a Matrix

#include <cstdio>#include <cstring>#include <iostream>using namespace std;typedef __int64 ll;const ll inf = 0x7fffffffffffffff;ll minn;int n, m;ll dp[505][505];int mapn[505][505];inline ll abs(ll a){    return a >= 0 ? a : -a;}void Init()  {    for(int i = 0; i <= n || i <= m; i++){        dp[i][0] = dp[0][i] = 0;    }    for(int i = 1; i <= n; i++){        for(int k = 1; k <= m; k++){ dp[i][k] =dp[i-1][k] + dp[i][k-1] - dp[i-1][k-1] + mapn[i][k];        }    }}inline ll fun(int up, int dw, int lf, int rg) {    ll sum = 0;    sum += dp[dw][rg] + dp[up-1][lf-1] - dp[up-1][rg] - dp[dw][lf-1];    return sum;}inline void ***(ll sum1, ll sum2, ll sum3){    ll sum = abs(sum1 - sum2) + abs(sum1 - sum3) + abs(sum2 - sum3);    if(sum < minn)        minn = sum;}int main(){    while(scanf("%d%d", &n, &m) && (m || n)){        for(int i = 1; i <= n; i++){ for(int k = 1; k <= m; k++){     scanf("%d", &mapn[i][k]); }        }        Init();        minn = inf;        for(int i = 1; i < n; i++){  for(int k = 1; k < m; k++){     ll sum1 = fun(1, i, 1, k);     ll sum2 = fun(1, i, k+1, m);     ll sum3 = fun(i+1, n, 1, k);     ll sum4 = fun(i+1, n, k+1, m);     ***(sum1+sum2, sum3, sum4);     ***(sum1+sum3, sum2, sum4);     ***(sum2+sum4, sum1, sum3);     ***(sum3+sum4, sum1, sum2); }        }        for(int i = 1; i < n-1; i++){      ll sum1 = fun(1, i, 1, m); for(int k = i+1; k < n; k++){     ll sum2 = fun(i+1, k, 1, m);     ll sum3 = fun(k+1, n, 1, m);     ***(sum1, sum2, sum3); }        }        for(int i = 1; i < m-1; i++){     ll sum1 = fun(1, n, 1, i); for(int k = i+1; k < m; k++){     ll sum2 = fun(1, n, i+1, k);     ll sum3 = fun(1, n, k+1, m);     ***(sum1, sum2, sum3); }        }        printf("%I64dn", minn);    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373889.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号