先给出n个数据,在给出一个结果m,在给你一个含有n个变量的表达式,问是否存在一种方式将数据一一代入变量,使得表达式的结果等于m。
暴力枚举
#include <stdio.h>
#include <algorithm>
using namespace std;
#define N 200
int p[5];
char expr[N],str[N],num[5][3];
int res;
int cal(int l,int r)
{
if(l > r)
return 0;
int i,cnt = 0,p = -1,flag = 0;
for(i = l; i <= r; ++i)
if(expr[i]=='(')
++cnt;
else if(expr[i] == ')')
--cnt;
else if((expr[i] == '+' || expr[i] == '-') && !cnt)
flag = 1, p = i;
else if((expr[i] == '*' || expr[i] == '/') && !cnt && !flag)
p = i;
if(p == -1)
{
if(expr[l]>='0'&&expr[l]<='9')