UVA 11748 - Rigging Elections(dfs)
UVA 11748 - Rigging Elections
题意:n个人选举,给出m个人的投票人对于每一个人的优先级,如今你想让第c个人赢。问能不能
思路:对于两个人上场,假设a能赢b,就建一条a->b的边,然后问题事实上就变成是否能以c为根节点是一棵树,直接dfs一遍就可以
代码:
#include <cstdio>
#include <cstring>
#include <vector>
using namespace std; const int N = 105; int n, m, c, a[N][N], vis[N];
vector<int> g[N]; int dfs(int u) {
vis[u] = 1;
int ans = 1;
for (int i = 0; i < g[u].size(); i++) if (!vis[g[u][i]])
ans += dfs(g[u][i]);
return ans;
} int main() {
while (~scanf("%d%d%d", &n, &m, &c) && n) {
int u;
for (int i = 1; i <= n; i++)
g[i].clear();
for (int i = 1; i <= m; i++)
for (int j = 1; j <= n; j++) {
scanf("%d", &u);
a[i][u] = j;
}
for (int i = 1; i <= n; i++) {
for (int j = i + 1; j <= n; j++) {
int cnt = 0;
for (int k = 1; k <= m; k++) {
if (a[k][i] < a[k][j])
cnt++;
if (cnt > m / 2) break;
}
if (cnt > m / 2) g[i].push_back(j);
else g[j].push_back(i);
}
}
memset(vis, 0, sizeof(vis));
printf("%s\n", dfs(c) == n ? "yes" : "no");
}
return 0;
}
UVA 11748 - Rigging Elections(dfs)的更多相关文章
- UVA 572 -- Oil Deposits(DFS求连通块+种子填充算法)
UVA 572 -- Oil Deposits(DFS求连通块) 图也有DFS和BFS遍历,由于DFS更好写,所以一般用DFS寻找连通块. 下述代码用一个二重循环来找到当前格子的相邻8个格子,也可用常 ...
- uva :10123 - No Tipping(dfs + 几何力矩 )
option=com_onlinejudge&Itemid=8&page=show_problem&category=109&problem=1064&mosm ...
- UVA 10318 Security Panel(DFS剪枝 + 状压 + 思维)题解
题意:给一个r*c的矩阵开关(初始全打开的),每次按下一个开关都会改变3*3范围内的有*的地方的状态,问你最少几步能让开关全闭上,按升序输出按哪些按钮 思路:每个按钮至多按一下,按按钮的顺序和结果无关 ...
- UVa 1343 旋转游戏(dfs+IDA*)
https://vjudge.net/problem/UVA-1343 题意:如图所示,一共有8个1,8个2和8个3,如何以最少的移动来使得中间8个格子都为同一个数. 思路:状态空间搜索问题. 用ID ...
- UVa 11212 编辑书稿(dfs+IDA*)
https://vjudge.net/problem/UVA-11212 题意:给出n个自然段组成的文章,将他们排列成1,2...,n.每次只能剪切一段连续的自然段,粘贴时按照顺序粘贴. 思路:状态空 ...
- uva 10160 Servicing Stations(DFS+剪枝)
Servicing stations A company offers personal computers for sale in N towns (3 <= N <= 35). The ...
- Uva 1103 古代象形符号(dfs求连通块, floodfill, 进制转换)
题意: 给定一个H行W列的字符矩阵(H<200, W < 50), 输入的是一个十六进制字符, 代表一行四个相邻的二进制, 1代表像素, 0代表没有像素. 然后要求判断输入的是以下哪些图形 ...
- UVA - 12113 Overlapping Squares(dfs+回溯)
题目: 给定一个4*4的棋盘和棋盘上所呈现出来的纸张边缘,问用不超过6张2*2的纸能否摆出这样的形状. 思路: dfs纸的张数,每一张中枚举这张纸左上角这个点的位置,暴力解题就可以了. 这个题的覆盖太 ...
- UVA - 572 Oil Deposits(dfs)
题意:求连通块个数. 分析:dfs. #include<cstdio> #include<cstring> #include<cstdlib> #include&l ...
随机推荐
- strong,weak, retain, assign的区别@property的参数
strong,weak, retain, assign的区别@property的参数 先说经验 使用场合 copy:NSString,block, weak:UI控件,代理 strong:一般对象.自 ...
- Android Studio 入门 Hello World
Android Studio 入门 Hello World Gavin要加油 1.5k 6月22日 发布 推荐 1 推荐 收藏 17 收藏,2.1k 浏览 引言 前两天开始学习android开发,本来 ...
- HDU_3732_(多重背包)
Ahui Writes Word Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 数据导出为Excel(未完)
更多详细内容 view页面: function Download() { //多个查询条件 dateStart = $("#j_dataTimeStart").datebox(&q ...
- python vars模块
{'__file__': 'C:/Users/zhou/PycharmProjects/fullstack2/6_20/test.py', '__doc__': None, '__cached__': ...
- [NOIP2017普及]跳房子
我太弱了... 单调队列优化DP+二分答案. #include <algorithm> #include <iostream> #include <cstdlib> ...
- 使用yolo3模型训练自己的数据集
使用yolo3模型训练自己的数据集 本项目地址:https://github.com/Cw-zero/Retrain-yolo3 一.运行环境 1. Ubuntu16.04. 2. TensorFlo ...
- 将网络图片转换为base64
public static function htmlPdf() { $img_path = Env::get('ROOT_PATH').'/public/images/wechat/user.jpg ...
- Jboss 服务器SSL证书安装指南
1.获取服务器证书 将证书签发邮件中的从BEGIN到 END结束的服务器证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----” ...
- RNN and Language modeling in TensorFlow
RNNs and Language modeling in TensorFlow From feed-forward to Recurrent Neural Networks (RNNs) In th ...