Uva 712 树计算布尔函数
来源:互联网 发布:长江期货软件下载 编辑:程序博客网 时间:2024/05/29 18:43
原题
简单题, 就是用一棵树来表示一个布尔函数然后对一些输入的变量求函数值
题目已经把意思和解题思路都描述清楚了, 直接模拟即可
最后又被空行坑了一次 - -||
#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>#include <string>#include <vector>#include <set>#include <stack>#include <queue>#include <deque>#include <map>#include <list>#include <cassert>#include <iomanip>#pragma warning(disable:4996) //关掉4996警告/*Uva 712关键 : 树的顺序存储 + 模拟*/using namespace std;int main( ) { //freopen("input.txt", "r", stdin); vector<int> order; bool leaves[1 << 8]; int N, M, Case = 0; while ( cin >> N && N > 0 ) { string tmp, result; memset(leaves, 0, sizeof(leaves)); order.clear( ); for ( int i = 0; i < N; i++ ) { cin >> tmp; order.push_back(tmp.at(1) - '0'); } cin >> tmp; for ( int i = 0; i < tmp.length( ); i++ ) { leaves[i] = tmp.at(i) - '0'; } cin >> M; while ( M-- ) { cin >> tmp; int Node = 1; for ( int i = 0; i < order.size(); i++ ) { // tmp.length() 和 order.size()必须是 N (否则出错) if ( tmp.at(order[i]-1) == '0' ) Node *= 2; else Node = Node * 2 + 1; } result.push_back(leaves[Node - (1 << N)]+'0'); } cout << "S-Tree #" << ++Case << ":" << endl; cout << result << endl << endl; } system("pause"); return 0;}
0 0
- Uva 712 树计算布尔函数
- Python (布尔类型计算)
- 布尔类型函数表示素数
- scala 实现布尔表达式的计算
- 转:布尔类型(短路计算)
- Python中布尔类型 短路计算原理
- & | 布尔
- freemarker操作字符串,数字,布尔类型函数
- freemarker操作字符串,数字,布尔类型函数
- 简单算法之—布尔母函数
- 布尔巴基学派的函数定义
- day_02_布尔、函数重载、内存分配、引用
- POJ 2106:Boolean Expressions 计算布尔表达式 - 堆栈
- 第六周——计算判断(布尔值)
- UVA 10014 简单计算
- uva 11178 计算几何
- UVA-11178-计算几何
- UVA-11796-计算几何
- 数据库
- Python正则表达式
- java的四种引用
- android:ToolBar详解
- java web的学习好从基础做起
- Uva 712 树计算布尔函数
- H-Index和H-Index II
- iOS开发规范
- 黑马程序员_JavaSE基础知识总结十六:流与文件
- ios学习笔记(四)定时器
- java web之Filter详解
- CDMA编码
- Spark社区可能放弃Spark 1.7而直接发布Spark 2.x
- openSUSE下交叉编译boost库