【图论】百度之星1月10号周赛 聚会游戏

来源:互联网 发布:js获取被选中的option 编辑:程序博客网 时间:2024/05/01 13:36

由于11号还有考试,做了第一题就没再接着做,第一题20分钟搞定,输出结果正确(两个勾),最后得了89分。


其实就是判断一个读度数序列能否简单图化,代码里面排序比较多,会影响效率,不过数据规模不大,应该还是可以的。

ps:百度的云IDE还挺好用的,不过那个技术社区平台真是垃圾,查成绩还要一页一页地翻,上百页啊亲。。。

题目:http://astar.baidu.com/index.php?r=home/detail&id=18

#include<iostream>#include<string>#include<algorithm>#include<string.h>using namespace std;int main(){    int n;    int deg[105];    bool flag=true;            while(cin>>n && n){        flag=true;        memset(deg,0,sizeof(deg));        deg[0]=n-1;            for(int i=1;i<n;i++){            cin>>deg[i];            if(deg[i]>(n-1))                flag=false;        }        if(flag==false){            cout<<"Lie absolutely"<<endl;            continue;        }            for(int i=0;i<n;i++){            sort(deg,deg+n);            if(deg[0]<0){                flag=false;                break;            }            int tmp=deg[n-1];            deg[n-1]=0;            int j=n-2;                        while(tmp>0){                deg[j]--;                j--;                tmp--;            }        }        sort(deg,deg+n);        if(deg[0]<0)            flag=false;                if(flag==false)            cout<<"Lie absolutely"<<endl;        else           cout<<"Maybe truth"<<endl;    }    return 0;}


原创粉丝点击