为何8pts
查看原帖
为何8pts
793805
aizhoukai楼主2024/10/16 21:50
#include<bits/stdc++.h>
using namespace std;
int m,q,x;
string s;
long long cs(int wei)
{
	long long temp=0,weii=wei;
	while(s[weii]>='0'&&s[weii]<='9')
	{
		temp*=10;
		temp+=s[weii]-'0';
		weii++;
	}
	return temp;
}
long long dfs(int wei,int x)
{
	if(s[wei]!='x')
	return cs(wei);
	if(s[wei+1]=='<')
	{
		if(x<cs(wei+2))
		{
			int weii=wei;
			while(s[weii]!='?')
			{
				weii++;
			}
			return dfs(weii+1,x);
		}
		else
		{
			int weii=wei;
			while(s[weii]!=':')
			{
				weii++;
			}
			return dfs(weii+1,x);
		}
	}
	if(s[wei+1]=='>')
	{
		if(x>cs(wei+2))
		{
			int weii=wei;
			while(s[weii]!='?')
			{
				weii++;
			}
			return dfs(weii+1,x);
		}
		else
		{
			int weii=wei;
			while(s[weii]!=':')
			{
				weii++;
			}
			return dfs(weii+1,x);
		}
	}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>m>>q>>s;
s=' '+s;
for(int i=1;i<=q;i++)
{
	cin>>x;
	cout<<dfs(1,x)<<endl;
}
return 0;
}

rt,AC on #1#2

2024/10/16 21:50
加载中...