ural 1106. Two Teams
来源:互联网 发布:120网络歌曲 打包下载 编辑:程序博客网 时间:2024/06/11 02:35
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1106
题目描述:给定N个人中,每个人至少跟其它1个人是朋友,问你能否将这N个人分成两队,其中每一队里每个人都有朋友在对面队伍里面;
貌似会遇到那种跟题意违背的一个朋友都没有的人,这应该是个坑,所以需要判断一下;
思路就是边visit边分组,遍历每个点,若这个点之前没有visit过,放1组,将与它有关系的点标记visit后放第二组;
直接上AC代码:
#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <stdio.h>#include <string>#include <vector>#include <queue>#include <map>using namespace std;const int m_Size = 110;bool matrix[m_Size][m_Size];vector<bool>visited;vector<int> ans;void func(){int i, j, N;bool noAns = false;cin >> N;ans.clear();visited.resize(N + 1, false);for (i = 1; i <= N;i++)for (j = 1; j <= N; j++)matrix[i][j] = false;for (i = 1; i <= N; i++){while (cin >> j&&j)matrix[i][j] = true;}for (i = 1; i <= N; i++){if (!visited[i]){visited[i] = true;bool relation = false;for (j = 1; j <= N;j++)if (matrix[i][j]){visited[j] = true;relation = true;}if (relation)ans.push_back(i);else{ noAns = true; break; }}}if (noAns)cout << "0\n";else{cout << ans.size() << endl << ans[0];for (i = 1; i < ans.size(); i++)cout << ' ' << ans[i];cout << endl;}}int main(){freopen("out.txt", "w", stdout);freopen("in.txt", "r", stdin);func();}
0 0
- Ural 1106. Two Teams
- ural 1106. Two Teams
- ural 1106. Two Teams
- ural 1106. Two Teams -bfs
- ural 1106. Two Teams dfs
- ural 1106. Two Teams 二分图染色
- ural 1106. Two Teams 二分图染色
- URAL 1106. Two Teams (二分图)
- URAL 1106 Two Teams
- URAL 1106 Two Teams (DFS + 二分图)
- Alice, Bob, Two Teams
- Alice, Bob, Two Teams
- Alice, Bob, Two Teams
- ural 1208. Legendary Teams Contest
- codeforces_632B. Alice, Bob, Two Teams
- Alice, Bob, Two Teams CodeForces
- ural 1208. Legendary Teams Contest 递归
- URAL 1208 Legendary Teams Contest (DFS)
- TCP的四层结构及每一层的功能
- onactivityresult 不执行
- ISP模块之RAW DATA去噪(二)--BM3D算法
- Javascript(一)-17-(JS函数_动态函数)
- C++ - 操作符的优先级
- ural 1106. Two Teams
- 设计模式之Bridge模式
- Spring获取ApplicationContext
- Android稀疏矩阵SparseArray
- Javascript(一)-18-(JS函数_匿名函数)
- jvm垃圾回收算法
- Java基础 笔记(四)
- org.apache.subversion.javahl.ClientException: Previous operation has not finished
- Javascript(一)-19-(JS函数_练习1)