I always wa in test 4,please help me,thank you!!!
Please tell me the reason or give me the t4,thank you!
This is my program:
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
int n,result=0,xia=0,rxia;
int line[110][2],era[110][2],fera[110][2];
void init()
{
int i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d %d",&line[i][0],&line[i][1]);
if(line[i][0]>line[i][1])
swap(line[i][0],line[i][1]);
}
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
{
if(line[j][0]<line[i][0])
{
swap(line[i][0],line[j][0]);
swap(line[i][1],line[j][1]);
}
if(line[j][0]==line[i][0])
if(line[j][1]<line[i][1])
{
swap(line[i][0],line[j][0]);
swap(line[i][1],line[j][1]);
}
}
}
void jilu(int i)
{
xia++;
era[xia][0]=line[i][0];
era[xia][1]=line[i][1];
}
void copyera()
{
int i;
for(i=1;i<=xia;i++)
{
fera[i][0]=era[i][0];
fera[i][1]=era[i][1];
}
}
void solve()
{
int i,x,temp=1,now;
for(x=1;x<=n;x++)
{
xia=0;
temp=1;
memset(era,0,sizeof(era));
xia++;
era[xia][0]=line[x][0];
era[xia][1]=line[x][1];
now=line[x][1];
for(i=x+1;i<=n;i++)
if(line[i][0]>=now)
{
temp++;
now=line[i][1];
jilu(i);
}
if(temp>result)
{
result=temp;
copyera();
rxia=xia;
}
}
printf("%d\n",result);
for(i=1;i<=rxia;i++)
printf("%d %d\n",fera[i][0],fera[i][1]);
}
int main()
{
init();
solve();
return(0);
}
Thank you very much!!!
Re: I always wa in test 4,please help me,thank you!!!
Послано
best 24 фев 2013 18:53
Maybe you forget sort first just like me.