心急的C小加

来源:互联网 发布:js设置cookie的作用域 编辑:程序博客网 时间:2024/06/10 11:48
/*  * 程序的版权和版本声明部分:  * Copyright (c) 2014,郑州大学SIAS国际学院    * 作    者:  王  杰* 完成日期:2014 年 4 月 30 日  *  * 对任务及求解方法的描述部分:* 输入描述: 略或见注释、总结* 问题描述: 略或见注释、总结* 程序输出: 略或见注释、总结* 问题分析: 略或见注释、总结* 算法设计: 略或见注释、总结*/#include<iostream>#include<algorithm>using namespace std;typedef struct node{    int l,w,s;    node(){        s=1;    }}node;bool cmp(node p,node q){    if(p.l==q.l)        return p.w<=q.w;    else        return p.l<=q.l;}int main(){    int t,n,count,sign,i,j;    cin>>t;    while(t--){        count=0;        cin>>n;        node p[n];        for(i=0;i<n;i++)            cin>>p[i].l>>p[i].w;        //for(i=0;i<n;i++)            //cout<<p[i].l<<" "<<p[i].w<<" ";        sort(p,p+n,cmp);    //小到大        //for(i=0;i<n;i++)            //cout<<p[i].l<<" "<<p[i].w<<" "<<p[i].s<<" ";        for(i=0;i<n;i++){            sign=p[i].w;            if(p[i].s==1){                for(j=i+1;j<n;j++){                    if(p[j].w>=sign && p[j].s==1){                        p[j].s=0;                        sign=p[j].w;                    }                }                p[i].s=0;                count++;            }        }        cout<<count<<endl;        //for(i=0;i<n;i++)            //cout<<p[i].l<<" "<<p[i].w<<" "<<p[i].s<<" "<<endl;    }    return 0;}


运行结果:(正确的)




如果bool cmp() 是这样的话:

bool cmp(node p,node q){    //if(p.l==q.l)       //return p.w<=q.w;    //else        return p.l<=q.l;}
结果就是这样:(错误的)


总结:

恩   ,有点迷,稍后再详细补充一下

0 0
原创粉丝点击