杭电2037 今年暑假不AC 大神帮我看看错在哪里了,万分感谢

#include<iostream>usingnamespacestd;struct{inta;intb;}shu[101],t;intmain(){intn,resul... #include <iostream>

using namespace std;
struct {
int a;
int b;
}shu[101],t;
int main()
{
int n,result;
while(cin>>n&&n!=0)
{ result=1;
for(int i=0;i<n;i++)
{
cin>>shu[i].a>>shu[i].b;
}
t=shu[0];
for(int i=0;i<n;i++)
{
for(int j=1;j<i;j++)
{
if(shu[i].b<shu[j].b)
{
t=shu[i];
shu[i]=shu[j];
shu[j]=t;
}
}
}

t.b=shu[0].b;
for(int i=1;i<n;i++)
{
if(shu[i].a>=t.b)
{
result++;
t.b=shu[i].b;
}
}
cout<<result<<endl;

} return 0;
}
求解救,谢谢
提交老是wrong
展开
 我来答
renshijie1018
2014-04-03 · TA获得超过1006个赞
知道小有建树答主
回答量:1063
采纳率:94%
帮助的人:949万
展开全部
你的排序算法出问题了
还有问题请追问

#include<stdio.h>
int main()
{
int n,m,i,j,k,t,x,y,p;
int s[100];
int c[100];
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
for(m=0;m<n;m++)
{
scanf("%d%d",&s[m],&c[m]);
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(c[i]>c[j])
{
k=s[j];
s[j]=s[i];
s[i]=k;
t=c[j];
c[j]=c[i];
c[i]=t;
}
}
}
p=0;
y=0;
for(x=0;x<n;x++)
{
if(s[x]>=p)
{
y++;
p=c[x];
}
}
printf("%d\n",y);
}
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式