#include<bits/stdc++.h> using namespace std; void swap(int *a, int *b) { int t; t=*a; *a=*b; *b=t; } int main() { int N,M,a[10000][2],b[10000][2],flag1=0,flag2=0; cin>>N>>M; for(int i=0; i<N; i++) cin>>a[i][0]>>a[i][1]; for(int i=0; i<M; i++) cin>>b[i][0]>>b[i][1]; //先分别对两个组数据进行排序 for(int i=0; i<N-1; i++) { for(int j=1; j<N; j++) { if(a[i][0]>a[j][0]) { flag1=1; swap(a[i][0],a[j][0]); swap(a[i][1],a[j][1]); } } if(flag1==0) break; } for(int i=0; i<M-1; i++) { for(int j=1; j<M; j++) { if(b[i][0]>b[j][0]) { flag2=1; swap(b[i][0],b[j][0]); swap(b[i][1],b[j][1]); } } if(flag2==0) break; } flag1=0; flag2=0; //合并输出 while(flag1<N&&flag2<M) { if(a[flag1][0]<=b[flag2][0]) { cout<<a[flag1][0]<<" "<<a[flag1][1]<<endl; flag1++; }else { cout<<b[flag2][0]<<" "<<b[flag2][1]<<endl; flag2++; } } while(flag1<N) { cout<<a[flag1][0]<<" "<<a[flag1][1]<<endl; flag1++; } while(flag2<M) { cout<<b[flag2][0]<<" "<<b[flag2][1]<<endl; flag2++; } } |
Double click to view unformatted code.