| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1492 人关注过本帖, 1 人收藏
标题:这题目到底错哪了??
只看楼主 加入收藏
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
结帖率:94.44%
收藏(1)
已结贴  问题点数:100 回复次数:23 
这题目到底错哪了??
题目http://


我写的代码:

#include<iostream>
using namespace std;

struct node{

    int begin;
    int end;
    int w;
}l[109];

int cmp(const void *a,const void *b){

    if(((node *)a)->begin!=((node *)b)->begin)
        return ((node *)a)->begin-((node *)b)->begin;
    else
        return ((node *)a)->end-((node *)b)->end;

}

int main(){
    int n;
    int str[290];
    cin >> n ;
    for(int i=0; i<n; ++i){
        cin >> l[i].begin >>l[i].end;
        l[i].w=i;
    }
    qsort(l,n,sizeof(l[0]),cmp);
    int begin=0;
    for(int i=0; i<n; ++i){
        if(l[i].begin>begin){
            begin=l[i].begin;
        }
        else{
            if((begin+1)<=l[i].end){
                begin+=1;
            }
        }
        str[l[i].w]=begin;
    }
    for(int i=0; i<n; ++i){
        cout<< str[i];
        if(i<n) cout<<" ";
    }
    cout<<endl;
    return 0;
}


自己想了几个测试数据都过了,为什么提交第3个列子老过不去啊,到底错哪了啊
搜索更多相关主题的帖子: void include return 
2010-11-13 22:12
sunmingchun
Rank: 4
来 自:安徽-滁州
等 级:业余侠客
帖 子:198
专家分:277
注 册:2010-4-2
收藏
得分:11 
给你改了一下不知道是不是你的意思。我运行可以的
#include<iostream>
using namespace std;

struct node{

    int begin;
    int end;
    int w;
}l[109];

int cmp(const void *a,const void *b){

    if(((node *)a)->begin!=((node *)b)->begin)
        return ((node *)a)->begin-((node *)b)->begin;
    else
        return ((node *)a)->end-((node *)b)->end;

}

int main(){
    int n,i;
    int str[290];
    cin >> n ;
    for( i=0; i<n; ++i){
        cin >> l[i].begin >>l[i].end;
        l[i].w=i;
    }
    qsort(l,n,sizeof(l[0]),cmp); //干什么的呢?
    int begin=0;
    for( i=0; i<n; ++i){
        if(l[i].begin>begin){
            begin=l[i].begin;
        }
        else{
            if((begin+1)<=l[i].end){
                begin+=1;
            }
        }
        str[l[i].w]=begin;
    }
    for( i=0; i<n; ++i){
        cout<< str[i];
        if(i<n) cout<<" ";
    }
    cout<<endl;
    return 0;
}

2010-11-13 22:31
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:0 
回复 2楼 sunmingchun
这也叫改了啊
2010-11-14 12:09
wujieru
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:1108
专家分:1939
注 册:2010-10-9
收藏
得分:11 
人家帮了你还这种态度
2010-11-14 12:33
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:11 
什么意思!!!能说清点吗???

If You Want Something, Go Get It, Period.
2010-11-14 12:33
wujieru
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:1108
专家分:1939
注 册:2010-10-9
收藏
得分:0 
人家帮了你还这种态度
2010-11-14 12:34
为宇纠结
Rank: 2
等 级:论坛游民
帖 子:17
专家分:11
注 册:2010-11-4
收藏
得分:11 
看不懂!
2010-11-14 15:05
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:0 
回复 4楼 wujieru
他的改动叫改动么?就把i定义到外面去,我想她这么改也许是应为有些编译器不能支持局部定义才提出去的吧?不懂就不用装,这样没意思
2010-11-14 15:47
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:0 
回复 5楼 m21wo
去看下题目啊 ,题意大概意思是这样的,他只记得每个事件发生的一个时间段而不知道具体发生在哪天,题目是叫你找出每个事件发生在哪一天,一天只能发生一个事件,(用二分匹配来做也就是最大匹配,用二分匹配做过了,但现在我只想知道我这样写到底错哪了)
2010-11-14 15:50
wujieru
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:1108
专家分:1939
注 册:2010-10-9
收藏
得分:0 
NIBACUOWUXINXIFAC你把错误信息发出来看看
2010-11-14 15:53
快速回复:这题目到底错哪了??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013216 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved