傳送門

題意:
思路:
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<algorithm>
#include<map>
#include<queue>
#include<math.h>
using namespace std;
#define ll long long
int main()
{
int t;
cin>>t;
while(t--)
{
string s;
cin>>s;
int flag = 0;
for(int i = 0; i < s.size(); i++)
{
if(s[i] == 'x')
{
if((s[i-1] >= '0' && s[i-1] <= '9') || s[i-1] == '+')
{
if((s[i-1] >= '1' && s[i-1] <= '9') || s[i-1] == '+')
{
flag = 1;
break;
}
else
{
if(s[i-2] >= '0' && s[i-2] <= '9')
{
flag = 1;
break;
}
}
}
else if(s[i-1] == 's')
{
if(s[i-4] == '/')
{
if(s[i-5] > '0' && s[i-5] <= '9')
{
flag = 1;
break;
}
else
{
if(s[i-6] >= '0' && s[i-6] <= '9')
{
flag = 1;
break;
}
}
}
else if((s[i-4] > '0' && s[i-4] <= '9') || s[i-4] == '+')
{
flag = 1;
break;
}
else
{
if(s[i-5] >= '0' && s[i-5] <= '9')
{
flag = 1;
break;
}
}
}
else if(s[i-1] == 'n')
{
if(s[i-4] == '/')
{
if(s[i-5] > '0' && s[i-5] <= '9')
{
flag = 1;
break;
}
else
{
if(s[i-6] >= '0' && s[i-6] <= '9')
{
flag = 1;
break;
}
}
}
else if((s[i-4] > '0' && s[i-4] <= '9') || s[i-4] == '+')
{
flag = 1;
break;
}
else
{
if(s[i-5] >= '0' && s[i-5] <= '9')
{
flag = 1;
break;
}
}
}
else if(s[i-1] == '^')
{
if(s[i-2] > '0' && s[i-2] <= '9')
{
flag = 1;
break;
}
else if(s[i-3] >= '0' && s[i-3] <= '9')
{
flag = 1;
break;
}
}
else if(s[i-1] == '/')
{
if(s[i-2] > '0' && s[i-2] <= '9')
{
flag = 1;
break;
}
else
{
if(s[i-3] >='0' && s[i-3] <= '9')
{
flag = 1;
break;
}
}
}
}
else if(s[i] == '+')
{
if(s[i-1] != 'x')
{
if(s[i-1] > '0' && s[i-1] <= '9')
{
flag = 1;
break;
}
else
{
if(s[i-2] >= '0' && s[i-2] <= '9')
{
flag = 1;
break;
}
}
}
}
}
if(s[s.size()-1] != 'x')
{
if(s[s.size()-1] > '0' && s[s.size()-1] <= '9')
{
flag = 1;
}
else if(s[s.size()-2] >= '0' && s[s.size()-2] <= '9')
{
flag = 1;
}
}
if(flag) cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
}