一个疑问
  • 板块P1322 logo语言
  • 楼主ZSB00000
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/3/26 20:39
  • 上次更新2024/3/26 23:35:10
查看原帖
一个疑问
1017629
ZSB00000楼主2024/3/26 20:39

为啥这样会WA

#include<bits/stdc++.h>
using namespace std;
#define int long long
int doit()
{
	int x=0,k=0;
	char ch,cha;
	string s;
	while(cin>>ch)
	{
		cin>>s>>k;
//		cout<<s<<" "<<k<<endl;
		if(ch==']')
		{
			break;
		}
		if(ch=='F')
		{
			cha=getchar();
			x+=k;
		}
		else if(ch=='B')
		{
			cha=getchar();
			x-=k;
		}
		else if(ch='R')
		{
			cha=getchar();
			x+=k*doit();
			cha=getchar();
		}
		if(cha==']')
		{
			break;
		}
	}
	return x;
}
signed main()
{
	cout<<abs(doit());
}

但这样可以AC

#include<bits/stdc++.h>
using namespace std;
#define int long long
int doit()
{
	int x=0,k=0;
	char ch,cha;
	string s;
	while(cin>>ch)
	{
//		cout<<s<<" "<<k<<endl;	
		if(ch==']')
		{
			break;
		}
		cin>>s>>k;
		if(ch=='F')
		{
			cha=getchar();
			x+=k;
		}
		else if(ch=='B')
		{
			cha=getchar();
			x-=k;
		}
		else if(ch='R')
		{
			cha=getchar();
			x+=k*doit();
			cha=getchar();
		}
		if(cha==']')
		{
			break;
		}
	}
	return x;
}
signed main()
{
	cout<<abs(doit());
}

仅调整了cin>>s>>k;的位置

2024/3/26 20:39
加载中...