11 solutions
-
0
结构体够使呆码
#include<bits/stdc++.h> using namespace std; struct fba{ unsigned short inxi,inxj,val,f; }lis[6][6],maxlis[6],maxli[6]; int main(){ for(short i=1;i<=5;i++){ maxli[i].val=SHRT_MAX*2-1; for(short j=1;j<=5;j++){ cin>>lis[i][j].val; lis[i][j].inxi=i; lis[i][j].inxj=j; if(lis[i][j].val>maxlis[i].val) {maxlis[i].val=lis[i][j].val; maxlis[i].inxi=i;maxlis[i].inxj=j;} } lis[maxlis[i].inxi][maxlis[i].inxj].f++; } for(int j=1;j<=5;j++){ for(int i=1;i<=5;i++){ if(lis[i][j].val<maxli[j].val){ maxli[j].val=lis[i][j].val; maxli[j].inxi=i;maxli[j].inxj=j;} } lis[maxli[j].inxi][maxli[j].inxj].f++; } for(int i=1;i<=5;i++){ for(int j=1;j<=5;j++){ if(lis[i][j].f==2) {cout<<i<<' '<<j<<' '<<lis[i][j].val; return 0;} } } cout<<"not found"; return 0;}
-
0
屎山代码
#include<bits/stdc++.h> using namespace std; int ppp[110][110]; int main(){ for(int x=0;x<5;x++)for(int y=0;y<5;y++)cin>>ppp[x][y]; for(int x=0;x<5;x++){ int max=-100000; for(int y=0;y<5;y++)if(max<ppp[x][y])max=ppp[x][y]; for(int y=0;y<5;y++)if(max==ppp[x][y]){ int min=100000; for(int xx=0;xx<5;xx++)if(min>ppp[xx][y])min=ppp[xx][y]; if(max==min){ cout<<x+1<<" "<<y+1<<" "<<max; return 0; } } } cout<<"not found"; return 0; }
N3+2*N2
-
0
#include<bits/stdc++.h> using namespace std; int a[1001][1001]; int main(){ for(int i=1;i<=5;i++){ for(int j=1;j<=5;j++){ cin>>a[i][j]; } } for(int i=1;i<=5;i++){ int maxs=0,mins=1e9+7;//每行最大的,每列最小的 int i2=i,j2;//j2存每行最大的下标 //遍历每行 for(int j=1;j<=5;j++){ if(a[i][j]>maxs){ maxs=a[i][j]; j2=j; } } //遍历最大值所在的列,寻找最小 for(int j=1;j<=5;j++){ mins=min(mins,a[j][j2]); } if(mins==maxs){//如果最大==最小,直接输出结束 cout<<i2<<" "<<j2<<" "<<a[i2][j2]; return 0; } } cout<<"not found";//实在没有就输出“not found” return 0; }
-
0
#include<bits/stdc++.h> using namespace std; int main(){ int a[10][10]; for(int i=1;i<=5;i++){ for(int j=1;j<=5;j++){ cin>>a[i][j]; } } for(int i=1;i<=5;i++){ for(int j=1;j<=5;j++){ if(a[i][j]>=a[i][1] && a[i][j]>=a[i][2] && a[i][j]>=a[i][3] && a[i][j]>=a[i][4] && a[i][j]>=a[i][5]){ if(a[i][j]<=a[1][j] && a[i][j]<=a[2][j] && a[i][j]<=a[3][j] && a[i][j]<=a[4][j] && a[i][j]<=a[5][j]){ cout<<i<<' '<<j<<' '<<a[i][j]; return 0; } } } } cout<<"not found"; return 0; }
-
0
#include<bits/stdc++.h> using namespace std; int a[10][10],h[10],l[10],maxh,minl; bool flag = true; int main () { for (int i = 1; i <= 5; i++){ for (int j = 1; j <= 5; j++) { cin >> a[i][j]; } } for (int i = 1; i <= 5; i++) { maxh = INT_MIN; for (int j = 1; j <= 5; j++){ if (a[i][j]>maxh) { h[i] = j; maxh = a[i][j]; } } } for (int i = 1; i <= 5; i++) { minl = INT_MAX; for (int j = 1; j <= 5; j++) if (a[j][i] < minl) { l[i] = j; minl = a[j][i]; } } for (int i = 1; i <= 5; i++) if (i==l[h[i]]) { cout << i << " " << h[i] << " " << a[i][h[i]]; flag = false; } if (flag) { cout << "not found" << endl; } return 0; }
-
0
#include<bits/stdc++.h> using namespace std; int a[5][5]; int x,y; int ma=0,mi=10000000; int main(){ for(int i=0;i<5;i++) for(int j=0;j<5;j++) cin>>a[i][j]; for(int i=0;i<5;i++){ int j,k; ma=0,mi=10000000; for(j=0;j<5;j++) ma=max(ma,a[i][j]); for(j=0;j<5;j++) if(a[i][j]==ma) for(k=0;k<5;k++) if(a[k][j]<mi) mi=a[k][j],x=k,y=j; if(mi==ma){ cout<<x+1<<' '; cout<<y+1<<' '; cout<<ma<<"\n"; break; } if(i==4&&mi!=ma) cout<<"not found"; } return 0; }
极致压行
-
-1
一个完美的做法
#include<bits/stdc++.h> using namespace std; int a[10][10],h[10],l[10],maxh,minl; bool pd=true; int main(){ for(int i=1;i<=5;i++) for(int j=1;j<=5;j++) cin>>a[i][j]; for(int i=1;i<=5;i++){ maxh=-20000000; for(int j=1;j<=5;j++) if(a[i][j]>maxh) h[i]=j,maxh=a[i][j]; } for(int i=1;i<=5;i++) { minl=20000000; for(int j=1;j<=5;j++) if(a[j][i]<minl) l[i]=j,minl=a[j][i]; } for(int i=1;i<=5;i++) if(i==l[h[i]]){ cout<<i<<" "<<h[i]<<" "<<a[i][h[i]]; pd=false; } if(pd) cout<<"not found"<<endl; return 0; }
-
-2
using namespace std; int a[10][10],h[10],l[10],maxh,minl; bool pd=true; int main() { for(int i=1;i<=5;i++) for(int j=1;j<=5;j++) cin>>a[i][j]; for(int i=1;i<=5;i++) { maxh=-1; for(int j=1;j<=5;j++) if(a[i][j]>maxh) { h[i]=j; maxh=a[i][j]; } } for(int i=1;i<=5;i++) { minl=99999; for(int j=1;j<=5;j++) if(a[j][i]<minl) { l[i]=j; minl=a[j][i]; } } for(int i=1;i<=5;i++) if(i==l[h[i]]) { cout<<i<<" "<<h[i]<<" "<<a[i][h[i]]; pd=false; } if(pd) cout<<"not found"<<endl; return 0; }
-
-2
#include<bits/stdc++.h> using namespace std; int main(){ int a[5][5]; for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ cin>>a[i][j]; } }for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ int b=0; int c=0; for(int k=0;k<5;k++){ if(a[i][k]>a[i][j]){ b++; } } for(int k=0;k<5;k++){ if(a[k][j]<a[i][j]){ c++; } } if(b0&&c0){ cout<<i+1<<" "<<j+1<<" "<<a[i][j]; return 0; } } }
}
-
-2
#include <bits/stdc++.h> using namespace std; int main(int argc, char **argv){ int x,y,a[5][5]; for (int i = 0;i < 5;i++){ for (int j = 0;j < 5;j++){ cin >> a[i][j]; } } for (int i = 0;i < 5;i++){ // 遍历行 int mxh = -1;bool f = 1; for (int j = 0;j < 5;j++){ // 遍历列 if (mxh < a[i][j]){ x = i + 1; y = j + 1; mxh = a[i][j]; } } for (int j = 0;j < 5;j++){ if (mxh > a[j][y - 1]){ f = 0; } } if (f){ printf("%d %d %d",x,y,mxh); return 0; } } printf("not found"); return 0; }
-
-2
`
#include<bits/stdc++.h> using namespace std; int a[10][10],h[10],l[10],maxh,minl; //a数组存矩阵,h、l含义见上文,maxh代表行的最大值,minl代表列的最小值 bool pd=true; int main() { for(int i=1;i<=5;i++) for(int j=1;j<=5;j++) cin>>a[i][j]; for(int i=1;i<=5;i++) { maxh=-1;//重置最大值为-1 for(int j=1;j<=5;j++) if(a[i][j]>maxh) { h[i]=j;//找到最大值所在的列 maxh=a[i][j]; } } for(int i=1;i<=5;i++) { minl=99999;//重置最小值为99999 for(int j=1;j<=5;j++) if(a[j][i]<minl) { l[i]=j;//找到最小值所在的行 minl=a[j][i]; } } for(int i=1;i<=5;i++) if(i==l[h[i]]) //对比是否有同时满足 行最大,列最小 { cout<<i<<" "<<h[i]<<" "<<a[i][h[i]]; pd=false; } if(pd) cout<<"not found"<<endl; //若没有,则输出 "not found" return 0; }
- 1
Information
- ID
- 608
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- # Submissions
- 146
- Accepted
- 52
- Uploaded By