问题描述
某寝室的同学们在学术完之后准备玩一个游戏:游戏是这样的,每个人头上都被贴了一张白色或者黑色的纸,现在每个人都会说一句话“我看到x张白色纸条和y张黑色的纸条”,又已知每个头上贴着白色纸的人说的是真话、每个头上贴着黑色纸的人说的是谎话,现在要求你判断哪些人头上贴着的是白色的纸条,如果无解输出“NoSolution.”;如果有多组解,则把每个答案中贴白条的人的编号按照大小排列后组成一个数(比如第一个人和第三个人头上贴着的是白纸条,那么这个数就是13;如果第6、7、8个人都贴的是白纸条,那么这个数就是678)输出最小的那个数(如果全部都是黑纸条也满足情况的话,那么输出0)
输入格式
第一行为一个整数n,接下来n行中的第i行有两个整数x和y,分别表示第i个人说“我看到x张白色纸条和y张黑色的纸条”。
输出格式
一行。如果无解输出“NoSolution.”。否则输出答案中数值(具体见问题描述)最小的那个,如果全部都是黑纸条也满足情况的话,那么输出0
样例输入
2
1 0
1 0

样例输出
0
样例输入
5
3 1
0 4
1 3
4 0
1 3

样例输出
35
数据规模和约定
n<=8

分析:1.枚举所有人的黑白字条情况,判断当前情况是否可能存在,把所有可能情况收集起来输出最小的
2.注意每人看不到自己头上的字条哦~

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> ansv;
pair<int, int> v[10];
int n, k, cnt, a[10];
void dfs(int num) {if (num == 0) {int white = 0, black = 0, ans = 0;for (int i = 1; i <= n; i++) {if (a[i] == -1) black++;if (a[i] == 1) white++;}for (int i = 1; i <= n; i++) {if (a[i] == 1 && (v[i].first != white-1 || v[i].second != black)) return;if (a[i] == -1 && (v[i].first == white && v[i].second == black-1)) return;}for (int i = 1; i <= n; i++) if (a[i] == 1) ans = ans * 10 + i;ansv.push_back(ans);} else {a[num] = -1;dfs(num - 1);a[num] = 1;dfs(num - 1);}
}
int main() {scanf("%d", &n);;for (int i = 1; i <= n; i++)scanf("%d%d", &v[i].first, &v[i].second);dfs(n);sort(ansv.begin(), ansv.end());printf("%d\n", ansv[0]);return 0;
}

蓝桥杯 ALGO-114 算法训练 黑白无常相关推荐

  1. 蓝桥杯:试题 算法训练 Remember the A La Mode

    蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...

  2. 矩阵乘法 算法训练 试题_蓝桥杯习题集_ 算法训练 矩阵乘法

    原文: 算法训练 矩阵乘法 时间限制:1.0s   内存限制:512.0MB 问题描述 输入两个矩阵,分别是m*s,s*n大小.输出两个矩阵相乘的结果. 输入格式 第一行,空格隔开的三个正整数m,s, ...

  3. 蓝桥杯练习系统算法训练习题加答案java版本

    附上百度文库的链接:http://wenku.baidu.com/view/afb78d36b42acfc789eb172ded630b1c59ee9bf7 转载于:https://www.cnblo ...

  4. java蓝桥杯的题_Java蓝桥杯试题集——算法训练ALGO-116——最大的算式

    题目要求 解题思路 动态规划,今天才弄明白QAQ,借鉴了这位大佬的博客,曹磊的博客 写的很好!但是我觉得我的循环方式更容易理解嘿嘿嘿~ 首先建立如下图的数组,行数代表前几位数,列数代表有几个乘号.将第 ...

  5. 蓝桥杯练习系统—算法训练 s01串

    第一部分:题目 问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01 输入格式 1个整数(0~19) 输出格式 n次变换后s01串 样例输入 3 样例输出 101 数据 ...

  6. 蓝桥杯:试题 算法训练 采油区域 矩阵前缀和+动态规划+分治+枚举

    资源限制 时间限制:2.0s 内存限制:512.0MB 采油区域 Siruseri政府决定将石油资源丰富的Navalur省的土地拍卖给私人承包商以建立油井.被拍卖的整块土地为一个矩形区域,被划分为M× ...

  7. 蓝桥杯-黑色星期五(算法训练)

    题目描述: 有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是"诸事不宜".请你编写一个程序,统计出在某个特定的年份中,出现了多少次既是1 ...

  8. 【算法】【蓝桥杯】试题 算法训练 黑心药商 ALGO-1002

    题目 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 JiaoShou消灭了百变怪,为爱琳世界赢得了和平,但他突然发现自己没有升级,这就意味着必须去喝药补血.爱琳世界的NPC卖的药已 ...

  9. 蓝桥杯 ALGO-114 算法训练 黑白无常

    算法训练 黑白无常 时间限制:1.0s   内存限制:256.0MB 问题描述 某寝室的同学们在学术完之后准备玩一个游戏:游戏是这样的,每个人头上都被贴了一张白色或者黑色的纸,现在每个人都会说一句话& ...

  10. 蓝桥杯国赛五一训练赛(1)

    蓝桥杯国赛五一训练赛(1)(链接) 问题 A: 费解的开关 你玩过"拉灯"游戏吗?25盏灯排成一个5x5的方形.每一个灯都有一个开关,游戏者可以改变它的状态.每一步,游戏者可以改变 ...

最新文章

  1. 在把webpack作为本地开发依赖安装的时候报错
  2. Tomcat、Websphere和Jboss类加载机制
  3. 刘晓艳2021英语语法句型结构总结1之简单句型结构
  4. 「MacOS」Mac快捷键
  5. mysql php 迁移_MySQL数据复制、迁移、转换
  6. POJ 2798:二进制转换十六进制
  7. opengl如何画出一个球_OpenGL-Controlling and Monitoring the Pipeline
  8. UI设计师必备的APP设计素材
  9. 石油化工行业SCM供应链管理系统开发,优化供应链平台运营模式
  10. 第24期、宠物医院管理系统
  11. 安卓逆向 和 手游辅助 学习 路线
  12. Cesium中的primitive竖立流光飞线
  13. 30分钟做一个二维码名片应用,有源码!
  14. Python 输出对齐
  15. docker的搭建和简单应用
  16. kubectl config 命令
  17. A - Artwork ( 并查集 )
  18. 华为社招/东莞、杭州、成都、西安
  19. css发动机的机滤,机油滤芯
  20. 武田就欧盟委员会对拟收购Shire plc进行中的1期评审发表置评

热门文章

  1. 算法学习(四)冒泡排序
  2. amcharts去除版权标志
  3. SQL前三章知识点测试
  4. 用collectionview实现瀑布流-转(后面附demo,供参考)
  5. 模拟jQuery--获取事件的封装
  6. 敏捷个人新体系学习 - 1.实践的艺术
  7. CSU 1115: 最短的名字(字典树)
  8. SWFTools (pdf2swf) to properly work with Flex (精彩转载)
  9. 谁与争锋-七款杀毒软件比较分析
  10. 详述Visual Studio 代码远程开发扩展中的远程命令执行漏洞