| ||||||||||
| 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 | |||||||||
help^^^^^^运用两个二维数组,期中一个是存放具有最大值的猴子标号^
#include <iostream.h>
int** search(int **array, int n)
{
int ** p;
p= new int*[n];
for(int i=0; i<n; i++)
p[i]=new int[2];
for(i=0; i<n; i++)
for(int j=0; j<2; j++)
p[i][j]=1;
for(int k=0; k<n; ++k)
for(int ii=0; ii<n; ++ii)
if(array[k][0]<array[ii][0])
{
p[k][0]=0;
break;
}
for(int j=0; j<n; ++j)
for(int jj=0; jj<n; ++jj)
if(array[j][1]<array[jj][1])
{
p[j][1]=0;
break;
}
return p;
}
int compare(int **array, int n)
{
int ** p;
int max=0;
p=search(array, n);
for(int i=0; i<n; ++i)
if(p[i][0]&&p[i][1]) max++;
if(max) return max;
for(int j=0; j<n; j++)
if(p[j][0]||p[j][1]) max++;
if(max!=n) return max;
return 0;
}
void main()
{
int n, **array;
while(1)
{
cin>>n;
if(n==0) break;
array= new int*[n];
for(int i=0; i<n; i++)
array[i]=new int[2];
for(i=0; i<n; i++)
for(int j=0; j<2; j++)
cin>>array[i][j];
cout<<compare(array, n)<<endl;
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator