题解 | #找最小数#
找最小数
https://www.nowcoder.com/practice/ba91786c4759403992896d859e87a6cd
#include<cstdio> #include<iostream> #include<algorithm> using namespace std; int xmin; int ymin; int xcount; typedef struct S{ int x; int y; }S; bool com(S left,S right) { if(left.x<=right.x) return true; else return false; } //这块其实不太对,我后面是把X相同时的y提取到了一个数组里进行排序才解决了的 /*bool com1(S left,S right) { if(left.x==xmin&&right.x==xmin&&left.y<right.y) { return true; } else return false; } */ int main() { int n; scanf("%d",&n); S s[1000]; for(int i=0;i<n;i++) { scanf("%d %d",&s[i].x,&s[i].y); } sort(s,s+n,com); xmin=s[0].x; // printf("%d\n",xmin); int y[1000]; for(int i=0;i<n;i++) { if(s[i].x==xmin) xcount++; y[i]=s[i].y; // printf("%d\n",s[i].y); } // sort(s,s+n,com1); // ymin=s[0].y; // printf("%d %d",xmin,ymin); sort(y,y+xcount); ymin=y[0]; printf("%d %d",xmin,ymin); } //int main() //{ // int n; // scanf("%d",&n); // int a[1000][2]; // for(int i=0;i<n;i++) // { // for(int j=0;j<2;j++) // { // scanf("%d",&a[i][j]); // } // } // int x[1000]; // for(int i=0;i<n;i++) // { // x[i]=a[i][0];//这才是X那列 ,对其进行单独排序 // } // // sort(x,x+n); // int xmin=x[0]; // int xcount=0; // for(int i=0;i<n;i++) // { // if(xmin==a[i][0]) // xcount++; // } // // int y[1000]; // for(int i=0;i<xcount;i++) // { // // if(a[i][0]==xmin)y[i]=a[i][1]; // } // sort(y,y+xcount); // int ymin=y[0]; // printf("%d %d\n",xmin,ymin); // //}