标签:des style blog http io color ar os sp
Description
Input
Output
Sample Input
3 2 1 1 2 3 3 3 0 1 1 0 0 0 4 0 0 1 0 0 1 1 1 0
Sample Output
1 2 1
题目大意:坐标(x0,y0)不存在任意(x,y)使得==》x>x0&&y>y0,则他为KING,记录KING的个数;
代码1(Time Limit Exceeded):
1 #include<stdio.h> 2 struct position //记录猴子的位置 3 { 4 int x,y; 5 }moky[50010]; 6 int main() 7 { 8 int N; 9 while(scanf("%d",&N)!=EOF){ 10 if(N==0) 11 break; 12 int i,king=0,j,flag_x,flag_y; 13 for(i=0;i<N;i++) 14 scanf("%d%d",&moky[i].x,&moky[i].y); 15 for(i=0;i<N;i++){ 16 for(j=0;j<N;j++){ 17 if(i==j) 18 continue; 19 flag_x=1,flag_y=1;//标记猴子坐标是否满足要求 20 if(moky[i].x<=moky[j].x) 21 flag_x=0; 22 if(moky[i].y<=moky[j].y) 23 flag_y=0; 24 if(flag_x==0&&flag_y==0) 25 break; 26 } 27 if(flag_x==1||flag_y==1)//若没有同时大于等于它的坐标就可以为KING 28 king++; 29 } 30 printf("%d\n",king); 31 } 32 return 0; 33 }
实验数据截图:
源代码2:(Wrong answer):
#include<stdio.h> #include<algorithm> using namespace std; struct monkey //记录猴子的坐标 { int x,y; }moky[50000]; bool cmp(monkey a,monkey b)//对猴子坐标排序 { if(a.x!=b.x) return a.x>b.x; return a.y>b.y; } int comp(monkey a,monkey b)//判断是否满足猴子王的条件 { if(a.x>=b.x&&a.y>=b.y) return 0; else return 1; } int main() { int N; while(scanf("%d",&N)!=EOF){ if(N==0) return 0; int i,king=0; for(i=0;i<N;i++) scanf("%d%d",&moky[i].x,&moky[i].y); sort(moky,moky+N,cmp);//对猴子坐标排序 for(i=0;i<N;i++){ if(i==0) king++; else if(comp(moky[0],moky[i])==1)//判断是否满足猴子王的要求 king++; else break; } printf("%d\n",king); } return 0; }
测试数据截屏:
标签:des style blog http io color ar os sp
原文地址:http://www.cnblogs.com/yanglingwell/p/4080423.html