#5过不了...,有没有大佬帮我看看555
  • 板块P1322 logo语言
  • 楼主gin23
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/14 16:43
  • 上次更新2024/7/14 18:22:54
查看原帖
#5过不了...,有没有大佬帮我看看555
1266200
gin23楼主2024/7/14 16:43
#include<stdio.h>
#include<malloc.h>
int cmp(char * cmd,char **pos);
#define MAX 10000
int main()
{
	char* cmd;
	cmd=(char*)malloc(MAX*sizeof(char));
	scanf("%[^\n]",cmd);
	int ans;
	char* pos;
	ans=cmp(cmd,&pos);
	if(ans<0)
	{
		ans=-ans;
	}
	printf("%d",ans);
	return 0;
}
int cmp(char * cmd,char **pos)
{
	int num=0;
	int i;
	if(cmd[0]=='F')
	{
		for(i=3;'0'<=cmd[i] && cmd[i]<='9';i++)
		{
			num=num*10+cmd[i]-'0';
		}
		return num+cmp(cmd+i+1,pos);
	}
	else if(cmd[0]=='B')
	{
		for(i=3;'0'<=cmd[i] && cmd[i]<='9';i++)
		{
			num=num*10+cmd[i]-'0';
		}
		return -num+cmp(cmd+i+1,pos);
	}
	else if(cmd[0]=='R')
	{
		for(i=7;'0'<=cmd[i] && cmd[i]<='9';i++)
		{
			num=num*10+cmd[i]-'0';
		}
		int a;
		a=num*cmp(cmd+i+1,pos);
		while(**pos==']' ||**pos==' ')
		{
			(*pos)=*(pos)+1;
		}
		return a+cmp(*pos,pos); 
	}

	if(cmd[0]==']')
	{
		(*pos)=&cmd[1];
		return 0;
	}
	else
	{
		(*pos)=&cmd[1];
		return 0;
	}
}
2024/7/14 16:43
加载中...