【poj解题】1308
判断一个图是否是一个树,树满足一下2个条件即可:
1. 边树比node数少1
2. 所有node的入度非0即1
节点数是0的时候,空树,合法树~
代码如下
#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define MAX 100int matrix[MAX][MAX];
int node[MAX] = {0};
int N = 0;
int M = 0;int check() {int i, j;int sum;if(N == 0) {return 1; } if(N != M + 1) {return 0; } /* 每个节点的入度非0则1 */for(i = 0; i < MAX; i++) {sum = 0;for(j = 0; j < MAX; j++) {sum += matrix[j][i]; } if(sum == 0 || sum == 1) {;}else {return 0; }}/* 判断图中无环 */return 1;
}void print() {int i, j;for(i = 0; i < 10; i++) {for(j = 0; j < 10; j++) {printf("%d ", matrix[i][j]); } printf("\n");}
}int main() {int u,v;int flag = 1;int count = 0;int i;while(flag) {/* init */N = 0;M = 0;memset(node, 0, sizeof(node));memset(matrix, 0, sizeof(matrix));while(1) {scanf("%d%d", &u, &v);if(u == -1 && v == -1) {flag = 0;break; }if(u == 0 && v == 0) {; }else {u --;v --;M ++;if(0 == node[u]) {node[u] = 1; N ++;}if(0 == node[v]) {node[v] = 1; N ++;}matrix[u][v] = 1;continue;}count ++;if(check()) {printf("Case %d is a tree.\n", count); }else {printf("Case %d is not a tree.\n", count); } break;}}return 0;
}
转载于:https://www.cnblogs.com/igloo1986/p/3534805.html
【poj解题】1308相关推荐
- 【POJ】1308 Is It A Tree?((并查集 + set)or (map))
http://poj.org/problem?id=1308 这个题数组开到200就可以了,但题目中貌似没有说呢? 读入每一对顶点,看看他们是否在同一个集合中,如果是的话,肯定成环,不是一棵树. 用s ...
- poj解题报告——poj 1528 Perfection
原题入口 poj 1528 Perfection 题目描述 Perfection Time Limit: 1000MS Memory Limit: 10000K Total Submissions: ...
- poj解题报告——2325
题目读了好长时间,郁闷. 题意:给定一个数N,求一个数M,要求:将M的各个位的数相乘得到N,M最小.思路:用到高精度除法,将给定的数从9开始试除,接着试除8,7,6,5,4,3,2.若结果 N仍大于一 ...
- poj解题报告——2386
题意:给你一个row*col的矩阵表示一块田地,上面的'W'代表积水,'.'表示干地,问这块田地里面的积水能汇聚成几片水洼. #include<iostream> #include< ...
- uscao 线段树成段更新操作及Lazy思想(POJ3468解题报告)
线段树成段更新操作及Lazy思想(POJ3468解题报告) 标签: treequerybuildn2cstruct 2011-11-03 20:37 5756人阅读 评论(0) 收藏 举报 分类: ...
- 模拟退火算法——解决售货员的难题
模拟退火算法--解决售货员的难题 分类: 解题报告 其他2010-11-22 23:20 1000人阅读 评论(2) 收藏 举报 算法优化outputgraphinputc Simulation An ...
- 大量ACM/ICPC书籍与网站资源
算法丛书分享 1.Concrete Mathematics --- A Foundation For Computer Science Ronald L. Graham , Donald E. Knu ...
- 杭电 1272 poj 1308 小希的迷宫
这道题是我学了并查集过后做的第三个题,教我们的学姐说这是并查集的基础题,所以有必要牢牢掌握. 下面就我做这道题的经验,给大家一些建议吧!当然,我的建议不是最好的,还请各位大神指出我的错误来,我也好改正 ...
- POJ 2800 垂直直方图 解题报告
POJ 2800 垂直直方图 解题报告 编号:2800 考查点:简单计算题 思路: 用gets()读入4行数据,然后按字符统计,显示的时候有点小处理即可. 提交情况: 感觉POJ的测试数据有点骗人 ...
最新文章
- R3抹掉加载的DLL
- 购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(2)--前端,以及前后端Session
- str 类常用的函数
- Docker Compose部署Nexus3时的docker-compose.yml代码
- C#中获取当前时间字符串给文件命名防止重复
- degree of freedom of a leg of a dog
- 求n的阶乘的算法框图_单片机常用的14个C语言算法
- 【亲测】2022最新H5手机微商城运营源码/简约轻量版/对接支付个人免签接口/带搭建教程
- JavaWeb开发——JSP技术
- 室内导航怎么实现?怎么做到零成本实现室内导航?
- Android WebView 进价高级使用
- IMDB电影排行爬取分析
- java解析txt文本文件_java读取文本文件内容方法详解,java如何读取txt文件?
- 热心肠行为?苹果“偷偷“给应用买广告
- Html中几种图片格式的区别与使用--我的笔记
- Realtek 2.5G USB网卡RTL8156B-CG支持免驱简介
- 请求成功但是报错: Uncaught (in promise)
- WIN7 64位系统安装CodeWarrior 6.3及BDM驱动
- outlook规则导出_如何在Outlook和Gmail之间导入和导出联系人
- sap客户信贷_通过SAP ABAP接口修改客户信贷主数据