天天看點

杭電 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; 
    }
}