摘要: 题解:首先,是一棵树的话要满足的条件是1 不成环;2 除了根,所有的入度为1,根入度为0;3 只有一棵树,不是森林那么,用并查集记录父亲,如果矛盾就成环,而最后找到一个节点的父亲,如果其余的不是则为森林,而入度则在开始时记一下,最后发现如果有入度大于1的则也不行。#include #include using namespace std; const int MAXN=100010; int f[MAXN],flag,hash[MAXN],in[MAXN]; void init(){ flag=1; for(int i=1;i1){flag=0;bre... 阅读全文
posted @ 2014-02-11 20:32 forever97 阅读(226) 评论(0) 推荐(0) 编辑
摘要: /* 注意可以是负整数,而且在过程中会超过int,所以要用longlong*/#include int main(){ long long n; while (scanf("%lld",&n)!=EOF) (n<1)?printf("%d\n\n",(n+1)*(2-n)/2):printf("%d\n\n",n*(n+1)/2); return 0;} 阅读全文
posted @ 2014-02-11 19:50 forever97 阅读(160) 评论(0) 推荐(0) 编辑