Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
no....In Reply To:我的o(n)的算法不知道什么地方错了。郁闷。 Posted by:Lucifer at 2005-08-14 21:18:59 > 我的思路是。如果求出x中最大的,y中最大的。 > 如果x最大的那个猴子是唯一的。那么他是猴王。 > 如果有几个x都最大。那么那几个中y唯一最大的是猴王。 > > 对于y同样处理。 > > 并且。猴王最多有两个。最少一个都没有。 > > 不知道什么地方错了。谢谢! > #include <iostream.h> > int main() > { > int n,i; > while (cin>>n&&n!=0) > { > int a[100],b[100]; > for (i=1;i<=n;i++) > { > cin>>a[i]>>b[i]; > } > a[0]=b[0]=342767; > int max1=0,l1=0,l11=0,l22=0,l2=0,max2=0,premax1,premax2,t=0; > for (i=1;i<=n;i++) > { > if (a[i]>max1) max1=a[i]; > if (b[i]>max2) max2=b[i]; > } > int p1=0,p2=0; > for (i=1;i<=n;i++) > { > if (a[i]==max1&&b[i]>=p1) > { > l11=l1; > p1=b[i]; > l1=i; > } > if (b[i]==max2&&a[i]>=p2) > { > l22=l2; > p2=a[i]; > l2=i; > } > } > if (b[l11]!=b[l1]) t++; > if (a[l22]!=a[l2]&&l2!=l1) t++; > cout<<t<<endl; > } > > > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator