题目描述

Cainiao is a university student who loves ACM contest very much. It is a festival for him once when he attends ACM Asia Regional Contest because he always can find some famous ACMers there.

Cainiao attended Asia Regional Contest Fuzhou Site on November 20, 2011. After he got seat map, he wanted to know which seat is the best one.

Cainiao have joined so many QQ Group about ACM/ICPC that he is almost familiar with the strength of each team. In his mind, the value of a seat is defined as following:



1. Strength of each team can be expressed as a positive integer.

2. The value of a seat is related to the adjacent seat (up/down/left/right, only four directions being considering).

3. For an adjacent seat, if the strength of this team is stronger than yours, the absolute value of difference of two teams should be added to your seat, otherwise, the absolute value of difference should be subtracted from your seat.

4. If the adjacent seat is empty (which means you are located at the most left/right/up/down), the value of your seat should be subtracted 1.

5. The best one in a contest is the seat that has the highest value.

6. The initial value of the seat is ZERO.

For example, there are 12 ( 3 X 4 ) teams in a contest, the strength of each team is as figure (a), and then you can calculate the value of each seat as figure (b).

输入

Input contain a positive integer T( T <=50 ) in the first line, which means T cases.

The first line of each case contains two positive integers N and M (3 <= N, M <= 20) which means the row and column number of the teams, then N rows following, each line contains M positive integers that represent the strengths of the teams.

输出

For each case, first output the case number, and then output the value and row number and column number of the best seat in one line for each case. 

If there are multiple solutions for one case, you should output the seat whose row number is largest and only output the seat whose column number is largest if still overlapping.

示例输入

13 41 5 3 46 3 3 44 3 2 1

示例输出

Case 1: 7 1 1

提示

 

来源

2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛

/**************
简单的模拟题,因为粗心被弄得WA了好多次。。
题意很简单,不说了。
我的解法:求 f[i][j] 时,用 num[i][j]上下左右四个方向元素的和 减去 4*num[i][j];
考虑到边界,只需要把 num[i][j]-1的6给边界的给外面一行/列  就OK了。
*********************/
Code:
#include <iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
const int MAX = 30;
int num[MAX][MAX];
int figure[MAX][MAX];
int main()
{
int t,m,n,i,j,h;
cin>>t;
for(h = 1;h<=t;h++)
{
cin>>m>>n;
memset(num,0,sizeof(num));
memset(figure,0,sizeof(figure));
for(i = 1;i<=m;i++)
for(j = 1;j<=n;j++)
{
cin>>num[i][j];
}
/// 边界处理
for(i = 1;i<=m;i++)
{
num[i][0] = num[i][1]-1;
num[i][n+1] = num[i][n]-1;
}
for(i = 1;i<=n;i++)
{
num[0][i] = num[1][i]-1;
num[m+1][i] = num[m][i]-1;
}
for(i = 1;i<=m;i++)
{
for(j = 1;j<=n;j++)
{
int sum = num[i+1][j] + num[i-1][j] + num[i][j+1] + num[i][j-1];/// 思路中代码实现
figure[i][j] = sum - num[i][j]*4;
}
}
int ans = -99999999,r,c;
for(i = 1;i<=m;i++)
{
for(j = 1;j<=n;j++)
{
if(ans<figure[i][j])
{
ans = figure[i][j];
r = i;c = j;
}
}
}
cout<<"Case "<<h<<": "<<ans<<" "<<r<<" "<<c<<endl;
}
return 0;
} /**************************************
Problem id : SDUT OJ 2409
User name : CY_
Result : Accepted
Take Memory : 476K
Take Time : 0MS
Submit Time : 2014-04-28 09:27:04
**************************************/



Sdut 2409 The Best Seat in ACM Contest(山东省第三届ACM省赛 H 题)(模拟)的更多相关文章

  1. [2012山东省第三届ACM大学生程序设计竞赛]——n a^o7 !

    n a^o7 ! 题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2413 Time Lim ...

  2. [2012山东省第三届ACM大学生程序设计竞赛]——Mine Number

    Mine Number 题目:http://acm.sdut.edu.cn/sdutoj/problem.php? action=showproblem&problemid=2410 Time ...

  3. 山东省第三届ACM省赛

    Solved ID PID Title Accepted Submit   A 2407 Impasse (+) 0 0   B 2415 Chess 0 0   C 2414 An interest ...

  4. Sdut 2416 Fruit Ninja II(山东省第三届ACM省赛 J 题)(解析几何)

    Time Limit: 5000MS Memory limit: 65536K 题目描述 Haveyou ever played a popular game named "Fruit Ni ...

  5. [ACM]2013山东省“浪潮杯”省赛 解题报告

    题目地址:http://acm.upc.edu.cn/problemset.php?page=13  2217~2226 A.Rescue The Princess 一个等边三角形告诉前2个点,求逆时 ...

  6. ACM: NBUT 1105 多连块拼图 - 水题 - 模拟

    NBUT 1105  多连块拼图 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:  Practice  Appoint ...

  7. 2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛--n a^o7 ! 分类: 比赛 2015-06-09 17:16 14人阅读 评论(0) 收藏

    n a^o7 ! Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 All brave and intelligent fighte ...

  8. hdu 4438 第37届ACM/ICPC 天津赛区现场赛H题

    题意:Alice和Bob两个人去打猎,有两种(只)猎物老虎和狼: 杀死老虎得分x,狼得分y: 如果两个人都选择同样的猎物,则Alice得分的概率是p,则Bob得分的概率是(1-p): 但是Alice事 ...

  9. sdut2408 pick apples (贪心+背包)山东省第三届ACM省赛

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/svitter/article/details/24642587 本文出自:http://blog.c ...

随机推荐

  1. boj1267 Infinite’s Cave 树形dp + 背包

    题目链接:http://acm.bupt.edu.cn/onlinejudge/newoj/showProblem/show_problem.php?problem_id=1267         / ...

  2. PAT 1057. Stack (30)

    题目地址:http://pat.zju.edu.cn/contests/pat-a-practise/1057 用树状数组和二分搜索解决,对于这种对时间复杂度要求高的题目,用C的输入输出显然更好 #i ...

  3. 在C#中我们能调用一个类的私有方法吗

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在C#中我们能调用一个类的私有方法吗.

  4. [caffe]深度学习之图像分类模型VGG解读

    一.简单介绍 vgg和googlenet是2014年imagenet竞赛的双雄,这两类模型结构有一个共同特点是go deeper.跟googlenet不同的是.vgg继承了lenet以及alexnet ...

  5. mongdb使用场景

    你期望一个更高的写负载 默认情况下,对比事务安全,MongoDB更关注高的插入速度.如果你需要加载大量低价值的业务数据,那么MongoDB将很适合你的用例.但是必须避免在要求高事务安全的情景下使用Mo ...

  6. 删除主目录下的.ssh目录下文件对boot2docker启动影响

    现象: 1) boot2docker ssh需要输入密码 2) boot2docker start 或 up 需要输入密码 解决方法: 1)删除 /Users/sunzhaoyu/.boot2dock ...

  7. Github + Hexo 搭建博客

    服务加速 brew 加速 http://blog.suconghou.cn/post/homebrew-speedup/ github加速 http://www.selfrebuild.net/201 ...

  8. HINSTANCE数据类型

    作者:马 岩(Furzoom) (http://www.cnblogs.com/furzoom/)版权声明:本文的版权归作者与博客园共同所有.转载时请在明显地方注明本文的详细链接,未经作者同意请不要删 ...

  9. redhat系统安装部署

    linux 系统安装部署 1).光盘引导,选择第一项: 2)介质检查,选择skip: 3).欢迎界面,直接下一步: 4).选择安装过程使用的语言,选择“English”; 5).选择键盘布局,不需要修 ...

  10. hdu 2027 统计元音

    统计元音 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...