天天看点

杭电多校4-Calculus

​​传送门​​

杭电多校4-Calculus

题意:

思路:

#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;
  }
}