大佬救命
  • 板块P1597 语句解析
  • 楼主Sq6666
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/10/28 01:05
  • 上次更新2023/11/2 11:08:58
查看原帖
大佬救命
921391
Sq6666楼主2023/10/28 01:05
#include<iostream>

#include<cstring>

using namespace std;
int a,b,c;
string s,s1;

int main()
{
	getline(cin,s);
	/*cout<<s<<endl;*/
	for(int i=0;i<s.size();i++)
	{
		int j=i;
		while(j<s.size()&&s[j]!=';')j++;
		/*cout<<j<<" "<<" &"<<i<<"#"<<endl;*/
			s1=s.substr(i+3,j-i-3);
			/*cout<<s1<<endl;*/
			if(s[i]=='a')
			{
				if(s1=="b")a=b;
				else if(s1=="c")a=c;
				else
				{
					int x = 0,k=0;
					while (k < s1.size() && isdigit(s1[k]))
					x = x * 10 + s1[k++] - '0';
					a=x;
				}
			}
			
			else if(s[i]=='b')
			{
				if(s1=="a")b=a;
				else if(s1=="c")b=c;
				else
				{
					int x = 0,k=0;
					while (k < s1.size() && isdigit(s1[k]))
					x = x * 10 + s1[k++] - '0';
					b=x;
				}
			}
			
			else if(s[i]=='c')
			{
				if(s1=="a")c=a;
				else if(s1=="b")c=b;
				else
				{
					int x = 0,k=0;
					while (k < s1.size() && isdigit(s1[k]))
					x = x * 10 + s1[k++] - '0';
					c=x;
				}
			}
			i=j;
			/*cout<<i<<endl;*/
	}
	cout<<a<<" "<<b<<" "<<c;
}
2023/10/28 01:05
加载中...