题目描述

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. PC-ADSL开机自动拨号方法

    方法一:把adsl拨号的快捷方式放到“开始”菜单中“所有程序”中的“启动”中. 再到“控制面板”中的“网络连接”中找到你用的拨号连接,鼠标右键点击选择“属性”.然后,在窗口上部选择“选项”,把“拨号选 ...

  2. 关键在封装并发出了帧-IP冲突也无所谓

    最近有点走火入魔了!本文所用技术非标准,较真儿者慎入!! 一个局域网内,两台机器拥有同样的IP,可以吗? 这不就是IP地址冲突吗?当然不行! 可是要知道,如果搞点旁门左道,还是可以做到的! 首先要明白 ...

  3. springMVC学习笔记--初识springMVC

    前一段时间由于项目的需要,接触了springMVC(这里主要是讲3.1版,以下内容也是围绕这个版本展开),发觉其MVC模式真的很强大,也简单易用,完全是基于注解实现其优雅的路径配置的.想想以前接手的项 ...

  4. mongodb的地理位置索引

    mongoDB支持二维空间索引,使用空间索引,mongoDB支持一种特殊查询,如某地图网站上可以查找离你最近的咖啡厅,银行等信息.这个使用mongoDB的空间索引结合特殊的查询方法很容易实现.前提条件 ...

  5. QVariant与自定义数据类型转换的方法

      在使用VC.Delphi编写用户界面程序的时候,经常会把对象与控件的data域进行绑定,便于程序运行中读写提高效率.然而在Qt编程中怎么实现这个功能呢?比如将一个用户自定义的结构体与QComboB ...

  6. 10465 - Homer Simpson 贪心

                                            Homer Simpson Time Limit: 3 seconds Memory Limit: 32 MB Home ...

  7. [转] Android进阶——安卓接入微信,获取OpenID

    PS: sendAuthRequest拿到code,通过code拿到access_token和openId,access_token可以拿到用户的信息 http://blog.csdn.net/hao ...

  8. Poco库网络模块例子解析1-------字典查询

    Poco的网络模块在Poco::Net名字空间下定义   下面是字典例子解析 #include "Poco/Net/StreamSocket.h" //流式套接字 #include ...

  9. SpannableString使用详解

    TextView算是android开发中最最常用的控件了,有的时候,我们要给一个TextView中的显示的文字设置不同的样式或者响应事件,比如同一个TextView中,有的字是红色,有的字是蓝色,有的 ...

  10. Java代码安全测试解决方案

    Java代码安全测试解决方案: http://gdtesting.com/product.php?id=106