ZSTU OJ 3770: 黑帽子 归纳总结
Description
Input
Output
Sample Input
2 1
3 1
Sample Output
1 1
1 2
情况分析:
问题的关键就在于何时才能确认自己是否真正为黑色!
所有的问题都把自己当做黑帽子的人考虑
一:两个人的情况
①1白1黑
只要睁眼,黑色帽子的人的眼中必然只有白色帽子,所以会打自己耳光!
二:三个人的情况
①2白1黑
只要黑色帽子的人睁眼,必然会打自己耳光。
②1白2黑
第一次闭眼:没有声音,假设自己是黑帽子,那么,在闭眼中,之所以不打自己耳光,是因为自己的眼中有1黑1白,所以此时无法确认自己是否是黑帽子。
此时,情况分为两种,假设晚上的时候那个头戴黑帽子的人没有发出声音,那么,他的眼中很显然是有黑帽子的,排除了那个白色帽子的人选,剩下的,必然自己是黑帽子。
所以
第二次的时候会有声音。
三:四个人的情况
同理分析即可。
3白1黑:一次
2白2黑:两次
1白3黑:三次
第一次:我的眼中有两个黑,晚上没声音,说明另外两个人眼中也有黑色,其中一者的眼中必然有另一者的黑色帽子。
此时,无法确认自己是否是黑帽子,除非第二天晚上没有发出声音,这个时候才能够确定,在“其他黑帽子人”的眼中,有两顶黑帽子。
所以,第二天晚上也没有声音
在第三天晚上,已经知道别人眼中有两个黑帽子了,排除了白帽子的,那么剩下的,自己肯定就是黑帽子
综上所述,黑帽子的人要确认自己是否是黑帽子,就一定要花费n-1次来确认。
如果还没明白的,自己可以分析一下四个人的情况
代码还是很简单的,就是逻辑关系而已
//看看会不会爆int!数组会不会少了一维!
//取物问题一定要小心先手胜利的条件
#include <bits/stdc++.h>
#pragma comment(linker,"/STACK:102400000,102400000")
#define LL long long
#define ALL(a) a.begin(), a.end()
#define pb push_back
#define mk make_pair
#define fi first
#define se second
#define haha printf("haha\n") int main(){
int a, b;
while(scanf("%d%d", &a, &b) != EOF){
printf("%d %d\n", b, a-b); }
return ;
}
ZSTU OJ 3770: 黑帽子 归纳总结的更多相关文章
- Go黑帽子
使用go语言来实现python黑帽子和绝技的代码 1.unix密码破解器 package main import( "bufio" "flag" "i ...
- 读书笔记 ~ Python黑帽子 黑客与渗透测试编程之道
Python黑帽子 黑客与渗透测试编程之道 <<< 持续更新中>>> 第一章: 设置python 环境 1.python软件包管理工具安装 root@star ...
- 2017-2018-2 20179204 PYTHON黑帽子 黑客与渗透测试编程之道
python代码见码云:20179204_gege 参考博客Python黑帽子--黑客与渗透测试编程之道.关于<Python黑帽子:黑客与渗透测试编程之道>的学习笔记 第2章 网络基础 t ...
- ZSTU OJ 3999 零基础学算法---邻接表
题目:Click here 题意:我就喜欢中文题! 分析:这个题虽然是中文题,但是还是有一点费解的.其实就是给你一棵树,是用图的形式给你的,只知道a,b之间有一条边,并不知道谁是父,谁是子.思路就是先 ...
- 《Python黑帽子》_1设置Python环境安装wingIDE
1首先你得有个Kali 检测python版本 安装pip 2安装wingIDE 网站 http://www.wingware.com 获取WingIDE 3解压wingide并且解决依赖关系 下载后在 ...
- python黑帽子
1.TCP客户端 #AF_INET 使用标准的IPv4地址或者主机名 #SOCK_STREAM是一个客户端 import socket target_host = 'www.google.com' t ...
- python黑帽子-黑客与渗透测试编程之道(源代码)
链接: https://pan.baidu.com/s/1i5BnB5V 密码: ak9t
- 《Python黑帽子:黑客与渗透测试编程之道》 自动化攻击取证
工具安装: 下载源码:https://code.google.com/archive/p/volatility/downloads 工具配置: 获取内存镜像:https://www.downloadc ...
- 《Python黑帽子:黑客与渗透测试编程之道》 Windows系统提权
环境准备: pywin32的安装在第八章的键盘记录中有,这里还需要安装wmi: 在本人的32位win7上本来是没有easy_install这个命令的,这需要安装setuptools-0.6c11.wi ...
随机推荐
- 基于.NET的3D开发框架/工具比较
好久木有写博客了,这么日子以来忙忙碌碌的,也没大有时间潜心学习和梳理.最近刚好接手一个3D显示的活,虽然还没怎么弄明白,但是也看过一些方案,走了一些弯路,经过一些浅显的了解(3D Display这里面 ...
- 苹果电脑获取Android Studio的发布版SHA1和开发版SHA1
最近开始转战安卓,准备把我在苹果上的应用也在安卓上来一波,其中就遇到一个问题就是最牛天气(iOS和微信小程序都已经有了,就差安卓的了)引用的百度的定位功能,需要填写发布版SHA1和开发版SHA1,作为 ...
- git 报错 error: insufficient permission for adding an object to repository database ./objects
参照:http://stackoverflow.com/questions/1918524/error-pushing-to-github-insufficient-permission-for-ad ...
- 计算机基础知识 一 Basic knowledge of computers One
计算机硬件由CPU(Central Processing Unit).存储器.输入设备.输出设备组成. CPU通常由控制单元(控制器)和算数逻辑单元(运算器)组成. 运算器:负责进行算数运算和逻辑运算 ...
- 论文阅读 | Clustrophile 2: Guided Visual Clustering Analysis
论文地址 论文视频 左侧边栏可以导入数据,或者打开以及前保存的结果.右侧显示了所有的日志,可以轻松回到之前的状态,视图的主区域上半部分是数据,下半部分是聚类视图. INTRODUCTION 数据聚类对 ...
- 在WebGL场景中建立游戏规则
在前三篇文章的基础上,为基于Babylon.js的WebGL场景添加了类似战棋游戏的基本操作流程,包括从手中选择单位放入棋盘.显示单位具有的技能.选择技能.不同单位通过技能进行交互.处理交互结果以及进 ...
- Apache Ignite 学习笔记(三): Ignite Server和Client节点介绍
在前两篇文章中,我们把Ignite集群当做一个黑盒子,用二进制包自带的脚本启动Ignite节点后,我们用不同的客户端连接上Ignite进行操作,展示了Ignite作为一个分布式内存缓存,内存数据库的基 ...
- LeetCode-51.N皇后
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案. 每一种解 ...
- ubuntu 下配置 开发环境
1. apache: sudo apt-get install apache2 安装好输入网址测试所否成功: http://localhost 2. mongo 已经安装好了 版本:2.4.8 ref ...
- SE Springer小组《Spring音乐播放器》软件需求说明之四
4 运行环境规定 4.1设备 我们计划完成的音乐软件较小巧,功能并不复杂,在普通笔记本电脑中即可运行,并无特殊硬设备要求. 4.2支持软件 需要用到windows操作系统,用VS编写C/C++代码,还 ...