主题:求助:POJ上1089题
代码如下,测试数据都通过了,为什么到POJ上交的时候总是Wrong Answer?
#include <iostream>
using namespace std;
int main()
{
int m,n;
int num[50000][2];
int show[50000][2];
int a;
cin>>a;
int count=0;
int temp=0;
for(int i=0;i<a;i++)
{
cin>>m>>n;
num[i][0] = m<n?m:n;
num[i][1] = m>n?m:n;
}
for( int x=0;x<a;x++ )
{
for( int i=x+1;i<a;i++ )
{
if( num[i][0]<=num[x][1] && num[i][1]>=num[x][0] )
{
num[i][0] = num[x][0] = (num[x][0]<num[i][0])?num[x][0]:num[i][0];
num[i][1] = num[x][1] = (num[i][1]>num[x][1])?num[i][1]:num[x][1];
}
}
}
int y=0;
show[temp][0]=num[y][0];
show[temp][1]=num[y][1];
y++;
count++;
while(y<a)
{
int c=0;
int k;
while(c<=temp)
{
if( show[c][0] != num[y][0] )
k=1;
else
{k=0;break;}
c++;
}
if( k == 1 )
{
temp++;
show[temp][0]=num[y][0];
show[temp][1]=num[y][1];
count++;
}
y++;
}
int z,tem0,tem1;
for(int i=0;i<count;i++)
{
z=count;
while(z-2>=0)
{
if(show[z-1][0]<show[z-2][0])
{
tem0=show[z-2][0];
tem1=show[z-2][1];
show[z-2][0]=show[z-1][0];
show[z-2][1]=show[z-1][1];
show[z-1][0]=tem0;
show[z-1][1]=tem1;
z--;
}
else
z--;
}
}
for( int i=0;i<count;i++)
{
cout<<show[i][0]<<" "<<show[i][1]<<endl;
}
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int m,n;
int num[50000][2];
int show[50000][2];
int a;
cin>>a;
int count=0;
int temp=0;
for(int i=0;i<a;i++)
{
cin>>m>>n;
num[i][0] = m<n?m:n;
num[i][1] = m>n?m:n;
}
for( int x=0;x<a;x++ )
{
for( int i=x+1;i<a;i++ )
{
if( num[i][0]<=num[x][1] && num[i][1]>=num[x][0] )
{
num[i][0] = num[x][0] = (num[x][0]<num[i][0])?num[x][0]:num[i][0];
num[i][1] = num[x][1] = (num[i][1]>num[x][1])?num[i][1]:num[x][1];
}
}
}
int y=0;
show[temp][0]=num[y][0];
show[temp][1]=num[y][1];
y++;
count++;
while(y<a)
{
int c=0;
int k;
while(c<=temp)
{
if( show[c][0] != num[y][0] )
k=1;
else
{k=0;break;}
c++;
}
if( k == 1 )
{
temp++;
show[temp][0]=num[y][0];
show[temp][1]=num[y][1];
count++;
}
y++;
}
int z,tem0,tem1;
for(int i=0;i<count;i++)
{
z=count;
while(z-2>=0)
{
if(show[z-1][0]<show[z-2][0])
{
tem0=show[z-2][0];
tem1=show[z-2][1];
show[z-2][0]=show[z-1][0];
show[z-2][1]=show[z-1][1];
show[z-1][0]=tem0;
show[z-1][1]=tem1;
z--;
}
else
z--;
}
}
for( int i=0;i<count;i++)
{
cout<<show[i][0]<<" "<<show[i][1]<<endl;
}
return 0;
}