逻辑表达式求解

逻辑表达式求解时间限制(普通/Java):1000MS/3000MS运行内存限制:65536KByte总提交:145测试通过:25描述在离散数学中,∩和∪代表的是与、或的... 逻辑表达式求解
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交: 145 测试通过: 25
描述

在离散数学中,∩和∪代表的是与、或的逻辑运算,给你一串只有∩和∪两种运算符的0,1表达式,求其结果。
这里规定∩符号为字符^,即数字六上档键;
∪符号为v,小写的字母v

输入

第一行一个整数n,表示有n个测试数据
以下n行每组数据,第一行一个整数t,表示这个表达式有t个字符
第二行为这个表达式,长度为t个字符,保证字符不超过10000个

输出

请输出每组表达式子的最终结果

样例输入

2
5
1^1v0
3
0^1

样例输出

1
0
展开
 我来答
匿名用户
2010-08-16
展开全部
// 我把自认为 ^ 与运算 优先级高于 v或运算

#include <iostream>
#include <string>
using namespace std;

int cal(string &str)
{
size_t pos;
while((pos = str.find('^',0)) != string::npos)
{

if(str[pos-1]=='1' && str[pos+1]=='1')
str.replace(pos-1,3,"1");
else
str.replace(pos-1,3,"0");
}
if((str.find('1',0)) != string::npos) return 1;
else return 0;
}

int main()
{
int n,t;
string str;
cin >> n;
while(n--)
{
cin >> t;
cin >> str;
cout << cal(str) << endl;
}
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式