天天看点

杭电 2022 海选女主角

题目链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=2022​​​

Problem Description

potato老师虽然很喜欢教书,但是迫于生活压力,不得不想办法在业余时间挣点外快以养家糊口。

“做什么比较挣钱呢?筛沙子没力气,看大门又不够帅…”potato老师很是无奈。

“张艺谋比你还难看,现在多有钱呀,听说还要导演奥运开幕式呢!你为什么不去娱乐圈发展呢?”lwg在一旁出主意。

嗯,也是,为了生存,就委屈点到娱乐圈混混吧,马上就拍一部激光电影《杭电记忆——回来我的爱》。

说干就干,马上海选女主角(和老谋子学的,此举可以吸引媒体的眼球,呵呵),并且特别规定,演员必须具有ac的基本功,否则直接out!

由于策划师风之鱼(大师级水王)宣传到位,来应聘的MM很多,当然包括nit的蛋糕妹妹等呼声很高的美女,就连zjut的jqw都男扮女装来应聘(还好被安全顾问hdu_Bin-Laden认出,给轰走了),看来娱乐圈比acm还吸引人哪…

面试那天,刚好来了m*n个MM,站成一个m*n的队列,副导演Fe(OH)2为每个MM打了分数,分数都是32位有符号整数。

一开始我很纳闷:分数怎么还有负的?Fe(OH)2解释说,根据选拔规则,头发染成黄色、化妆太浓、穿的太少等等都要扣分数的,扣的多了就可能是负分了,当然,如果发现话语中夹有日语,就直接给-2147483648分了。

分数送上来了,是我做决定的时候了,我的一个选拔原则是,要选一个面试分数绝对值(必须还是32位整数)最大的MM。

特别说明:如果不幸选中一个负分的MM,也没关系,因为我觉得,如果不能吸引你,那要想法恶心你。

Input

输入数据有多组,每组的第一行是两个整数m和n,表示应聘MM的总共的行列数,然后是m行整数,每行有n个,m和n的定义见题目的描述。

Output

对于每组输入数据,输出三个整数x,y和s,分别表示选中的MM的行号、列号和分数。

note:行号和列号从一开始,如果有多个MM的分数绝对值一样,那么输出排在最前面的一个(即行号最小的那个,如果行号相同则取列号最小的那个)。

Sample Input

2 3

1 4 -3

-7 3 0

#include<cstring>
#include<cmath>
#include<cstdio>
#include<iostream>
#include<sstream>
#include<algorithm>
using namespace std;
const int maxn=120;
struct node{
    int row,col;
    int value;
};
int cmp(node a,node b){
    if(abs(a.value)!=abs(b.value)){
        return abs(a.value)>abs(b.value);
    }
    else if(a.row!=b.row){
        return a.row<b.row;
    }
    else{
        return a.col<b.col;
    }
}
int main(){
    int n,m;
    int i,j;
    while(cin>>m>>n){  //二维数组排序我不会,下次研究一下,这里就直解用一维数组存下来 
        node *a=new node[m*n];//动态分配内存 
        int k=0;
        for(i=0;i<m;i++){
            for(j=0;j<n;j++){
                cin>>a[k].value;
                a[k].row=i+1;
                a[k].col=j+1;
                k++;
            }
        }
        sort(a,a+k,cmp);
        cout<<a[0].row<<" "<<a[0].col<<" "<<a[0].value<<endl;
        delete a; 
    }
}