算法训练 黑白无常

时间限制:1.0s   内存限制:256.0MB

问题描述
  某寝室的同学们在学术完之后准备玩一个游戏:游戏是这样的,每个人头上都被贴了一张白色或者黑色的纸,现在每个人都会说一句话“我看到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

#include <stdio.h>#define BLACK 0
#define WHITE 1int n;
int x[10], y[10];
int slip[10];int solve(int person_id)
{if (person_id > 0){slip[person_id] = BLACK;if (solve(person_id - 1))return 1;slip[person_id] = WHITE;return solve(person_id - 1);}else{int n_black = 0, n_white = 0;for (int i = 1; i <= n; ++i){if (slip[i] == BLACK)n_black++;elsen_white++;}for (int i = 1; i <= n; ++i){if (slip[i] == WHITE){if (!(x[i] == n_white - 1 && y[i] == n_black))return 0;}else{if (x[i] == n_white && y[i] == n_black - 1)return 0;}}return 1;}
}int main()
{scanf("%d", &n);for (int i = 1; i <= n; ++i)scanf("%d %d", &x[i], &y[i]);if (solve(n)){int n_black = 0, n_white = 0;for (int i = 1; i <= n; ++i){if (slip[i] == BLACK)n_black++;elsen_white++;}if (n_black == n)printf("0");else{for (int i = 1; i <= n; ++i){if (slip[i] == WHITE)printf("%d", i);}}}elseprintf("NoSolution.");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. 蓝桥杯国赛五一训练赛(1)

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

最新文章

  1. jetbrains intellij IDEA 常用插件和配置
  2. 第7件事 产品的5个要素
  3. (转载)MyEclipse github
  4. 硅谷创业公司的成长道路
  5. matlab柱状图加阴影,matlab 绘制 阴影 柱状图 条形图
  6. 高效代码之strcpy()实现
  7. iBatis.Net(6):Data Map(深入)
  8. 作为window对象属性的元素 多窗口和窗体
  9. Kafka的消费语义
  10. 2012.4.17内存相关
  11. 电商技术中企业数据总线ESB和注册服务管理的区别
  12. Vscode,Open a folder or workspace…(File -> Open Folder)解决方案
  13. 浙江工大学计算机学院保研,浙江工业大学计算机学院保研初试名单
  14. 论文笔记:Show, Edit and Tell : A Framework for Editing Image Captions
  15. 阿里云面经之实习二面
  16. Galaxy S9最新谍照曝光 采用新款DeX扩展坞
  17. WiFi认证过程需要的协议和服务
  18. Windows注册表修改技巧
  19. 【Android 10 源码】MediaRecorder 录像流程:MediaRecorder 开始录制
  20. 判天地之美,析万物之理

热门文章

  1. 山东大学软件学院人工智能导论(考试)——期末考试回忆版
  2. 【机器视觉】——相机镜头篇
  3. 模拟模拟交易系统(二)——系统设计
  4. 哪种类型的光隔离器适合您的信号?
  5. 什么是光耦隔离?光耦隔离的主要作用
  6. 5月26日来IGS大会腾讯云游戏新文娱分论坛和TcaplusDB约会吧!
  7. 力扣 2212. 射箭比赛中的最大得分
  8. 项目小经验: 杀鸡用了牛刀
  9. 按头安利 好看又实用的组合灯ies光域网素材看这里
  10. kubernetes(4):Centos7 使用docker 安装kubeadm-dind-cluster