直接模拟,算每一行最大值,每一列最小值
include
using namespace std;
int T;
int tu[5][5];
int Max[5],Min[5];
void solve()
{
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
cin>>tu[i][j];
for(int i=0;i<5;i++)
{
Max[i]=tu[i][0];
for(int j=1;j<5;j++) Max[i]=max(Max[i],tu[i][j]);
}
for(int j=0;j<5;j++)
{
Min[j]=tu[0][j];
for(int i=1;i<5;i++) Min[j]=min(Min[j],tu[i][j]);
}
int found=0;
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
if(tu[i][j]==Max[i] && tu[i][j]==Min[j])
{
found=1;
cout<<i<<’ ‘<<j<<endl;
}
if(!found) cout<<”-1 -1”<>T;
for(int step=0;step<T;step++)
{
printf(“case #%d:\n”,step);
solve();
}
return 0;
}
一份更好的代码
事实上算最大最小那块可以优化但没必要了。