竞赛讨论区 > 为啥错了

为啥错了

头像
凝残雪
发布于 2021-10-13 23:08:59 APP内打开
赞 0 | 收藏 0 | 回复0 | 浏览105
第二题
#include <bits/stdc++.h>
using namespace std;
inline long long read(void)
{
	long long s = 0, f = 0;
	char ch = getchar();
	while(!isdigit(ch)) f = (ch=='-'), ch = getchar();
	while(isdigit(ch)) s = (s<<1)+(s<<3)+(ch^48), ch = getchar();
	return f?(-s):s;
}

string s; 
int js, cs;
void f(int i, char c)
{
	s+='[';
	s+=(++js)+'0';
	s+=']';
}//+、- 
void ff(int i, char c)
{
	s+='[';
	s+=(++cs)+'0';
	s+=']';
}//*、/ 
int main()
{
	long long n;
	n = read();
	for(int i=1;i<=n;i++)
	{
		char ch = getchar();
		if(ch=='+'||ch=='-') s+=ch, f(s.size(), ch);
		else if(ch=='*'||ch=='/') s+=ch, ff(s.size(), ch);
		else s += ch;
	}
	for(int i=0;i<s.size();i++)
	{
		if(s[i-2]=='+'||s[i-2]=='-') 
		{
			cout << s[i]-'0'+cs;
			continue;
		}
		cout << s[i];
	}
	return 0;
}

一个点也没过😕

0条回帖

回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐