#include<stdio.h> typedef struct info { int xh; int grade; }info; int main() { info x[100], tep, x2[100],x3[100]; int n, m, i, j, min, k, f,xb; scanf("%d %d", &n, &m); for (i = 0; i < n; i++) { scanf("%d %d", &x[i].xh, &x[i].grade); } for (i = 0; i < n - 1; i++) { min = x[i].xh; f = 0; for (j = i + 1; j < n; j++) { if (x[j].xh < x[i].xh) { min = x[j].xh; f = 1; k = j; } } if (f == 1) { tep = x[i]; x[i] = x[k]; x[k] = tep; } } for (i = 0; i < m; i++) { scanf("%d %d", &x2[i].xh, &x2[i].grade); } for (i = 0; i < m - 1; i++) { min = x2[i].xh; f = 0; for (j = i + 1; j < m; j++) { if (x2[j].xh < x2[i].xh) { min = x2[j].xh; f = 1; k = j; } } if (f == 1) { tep = x2[i]; x2[i] = x2[k]; x2[k] = tep; } } xb=0; i=0;j=0; while(i!=n&&j!=m){ if(x[i].xh<x2[j].xh){ x3[xb++]=x[i]; i++; }else{ x3[xb++]=x2[j]; j++; } } if(i==n){ for(k=j;k<m;k++){ x3[xb++]=x2[k]; } } if(j==m){ for(k=i;k<n;k++){ x3[xb++]=x[k]; } } for(i=0;i<m+n;i++){ printf("%d %d\n",x3[i].xh,x3[i].grade); } return 0; } |
Double click to view unformatted code.