hdu1355 The Peanuts

来源:互联网 发布:c标签和js函数 编辑:程序博客网 时间:2024/04/30 15:56

单纯的贪心就可以

 

 

#include <cstdio>#include <algorithm>#include <cmath>using namespace std;struct PEA {       int row, column, data;}pea[2505];bool cmp ( PEA a,  PEA b ) {       return a.data > b.data;}int ct, num, m, n, k, x;int main ( ) {    while ( scanf ( "%d", &ct ) != EOF ) {          while ( ct-- ) {                num = 0;                scanf ( "%d%d%d", &m, &n, &k );                for ( int i = 0; i < m; ++i )                    for ( int j = 0; j < n; ++j ) {                        scanf ( "%d", &x );                        if ( x > 0 ) {                                                          pea[num].row = j;                             pea[num].column = i;                             pea[num++].data = x;                        }                    }                sort ( pea, pea + num , cmp );                if ( 2 * pea[0].column + 3 > k ) {                     printf ( "0\n" );                     continue;                }                double tmp = pea[0].column + 3.0;                int ans = pea[0].data;                for ( int i = 1; i < num; ++i ) {                    double tm = abs ( pea[i].row - pea[i - 1].row ) + fabs ( pea[i].column - pea[i - 1].column );                    if ( tm + tmp + pea[i].column + 1.0 > k ) break;                    tmp += tm + 1.0;                    ans += pea[i].data;                }                printf ( "%d\n", ans );          }    }}


 

原创粉丝点击