ACM 今年暑假不AC(只是一个小小问题,就是搞不懂...)
//这是我的代码,是可以AC的,问题在代码中已注释,请大神指教#include<stdio.h>structJieMu{intbegin;intend;}J[102];v...
//这是我的代码,是可以AC 的,问题在代码中已注释,请大神指教
#include<stdio.h>
struct JieMu
{
int begin;
int end;
}J[102];
void main()
{
int n,i,j,sum,temp;
while(1)
{
sum = 1;
scanf("%d",&n);
if(n==0) break;
for(i=0;i<n;i++)
scanf("%d %d",&J[i].begin,&J[i].end);
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(J[j].end>J[j+1].end)
{
temp = J[j].end;
J[j].end = J[j+1].end;
J[j+1].end = temp;
temp = J[j].begin;
J[j].begin = J[j+1].begin;
J[j+1].begin = temp;
}
}
}
temp = J[0].end;
for(i=1;i<n;i++)
{
if(J[i].begin>=temp) //为什么用 if(J[i].begin>=J[i-1].end) 不使用temp做中介不可以?!
{
sum++;
temp = J[i].end;
}
}
printf("%d\n",sum);
}
} 展开
#include<stdio.h>
struct JieMu
{
int begin;
int end;
}J[102];
void main()
{
int n,i,j,sum,temp;
while(1)
{
sum = 1;
scanf("%d",&n);
if(n==0) break;
for(i=0;i<n;i++)
scanf("%d %d",&J[i].begin,&J[i].end);
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(J[j].end>J[j+1].end)
{
temp = J[j].end;
J[j].end = J[j+1].end;
J[j+1].end = temp;
temp = J[j].begin;
J[j].begin = J[j+1].begin;
J[j+1].begin = temp;
}
}
}
temp = J[0].end;
for(i=1;i<n;i++)
{
if(J[i].begin>=temp) //为什么用 if(J[i].begin>=J[i-1].end) 不使用temp做中介不可以?!
{
sum++;
temp = J[i].end;
}
}
printf("%d\n",sum);
}
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询