社区讨论

玄关,蒻苟纯模拟不会写优化,dalao教教我

P11186三目运算参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m2osrwor
此快照首次捕获于
2024/10/25 21:58
去年
此快照最后确认于
2024/10/25 22:55
去年
查看原帖
64分代码:
CPP
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int m,q,x;
string s;
int num,cnt,ans;
bool ys=0;
char fh,goto_;

int main(){
	scanf("%d%d",&m,&q);
	cin>>s;
	while (q--){
		scanf("%d",&x);
		ans=0;
		for (int i=0;i<s.length();i++){
			if (s[i]=='x')	continue;
			else if (s[i]>='0' && s[i]<='9'){
				num=0;
				while (s[i]>='0' && s[i]<='9'){
					num*=10;
					num+=s[i]-'0';
					i++;
				}
				ans=num;
				break;
			}
			if (s[i]=='>' || s[i]=='<'){
				num=0;
				fh=s[i];
				i++;
				while (s[i]>='0' && s[i]<='9'){
					num*=10;
					num+=s[i]-'0';
					i++;
				}
				if (!((fh=='>' && x>num) || (fh=='<' && x<num))){
					cnt=0;
					i++;
					while(s[i]!=':' || cnt!=0){
						if (s[i]=='?')	cnt++;
						if (s[i]==':')	cnt--;
						i++;
					}
				}
			}
		}
		printf("%d\n",ans);
	}
	return 0;
}
求dalao教教我怎么优化
(请不要直接甩个其他方法的代码)

回复

1 条回复,欢迎继续交流。

正在加载回复...