AcWing 3600. 最大的两个数
原题链接
简单
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int,int>;
bool flag;
struct nd{
int v;
int p;
};
const int N=4,M=5;
nd nnd[M+1][N+1];
bool cmp(const nd& nd1,const nd&nd2){
return nd1.v>nd2.v;
}
void solve(){
for(int i = 1;i<=N;i++){
for(int j = 1;j<=M;j++){
cin>>nnd[j][i].v;
nnd[j][i].p = i;
}
}
for(int i = 1;i<=M;i++){
sort(nnd[i]+1,nnd[i]+1+N,cmp);
if(nnd[i][1].p>nnd[i][2].p){
swap(nnd[i][1],nnd[i][2]);
}
}
for(int i = 1;i<=M;i++){
cout<<nnd[i][1].v<<" ";
}
cout<<"\n";
for(int i = 1;i<=M;i++){
cout<<nnd[i][2].v<<" ";
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
solve();
return 0;
}