翻译布尔表达式
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
大家都学过了布尔表达式的翻译,其中有一个拉链-回填技术,这次我们就练习这个技术。
Input
多组输入,首先输入一个整数T,代表数据组数。
接下来每组输入为一行字符串,例如: a < b or c < d and e < f
每个符号都用空格间隔。
Output
假链跳到0,真链跳到1,表达式序号从100开始排。
Sample Input
1
a < b or c < d and e < f
Sample Output
100(j<,a,b,1)
101(j,,,102)
102(j<,c,d,104)
103(j,,,0)
104(j<,e,f,100)
105(j,,,103)
说明:这道题我也是再网上看的别人的博客,然后写的,但是网上都没有一个详细的解释,所以我把自己的理解给大家解释解释
#include<bits/stdc++.h>
#include<vector>
using namespace std;
int temp ;
int jump;
string str;
vector<string>tt;//这个vector相当于是一个容器,模板
int main()
{
int t;
scanf("%d\n",&t);//注意这里输入必须要加一个\n,不然会后面getline会将\n读入从而出现错误。
while(t