社区讨论

90求助!!!

P1575正误问题参与者 2已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@lo1d333d
此快照首次捕获于
2023/10/22 19:04
2 年前
此快照最后确认于
2023/11/02 19:47
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
string s;
char a[114514];
int main(){
	getline(cin,s);
	int n=s.size();
	if(s[0]=='a'||s[0]=='o'||s[n-1]=='t'||s[n-1]=='d'||s[n-1]=='r'){
		cout<<"error";
		return 0;
	}
	int k=0;
	a[++k]=s[0];
	for(int i=1;i<n;i++){
		if(s[i]==' '&&s[i+1]!=' '){
			a[++k]=s[i+1];
		}
	}
//	for(int i=1;i<k;i++){
//		if(((a[i]=='t'||a[i]=='f')&&(a[i+1]=='t'||a[i+1]=='f'))||((a[i]=='n'||a[i]=='o'||a[i]=='a')&&(a[i+1]=='o'||a[i+1]=='a'))){
//			cout<<"error";
//		    return 0;
//		}
//		if(a[i]=='n'&&a[i+1]!='t'&&a[i+1]!='f'){
//			cout<<"error";
//		    return 0;
//		}
//		if(a[i]=='n'&&(a[i-1]=='t'||a[i-1]=='f')){
//			cout<<"error";
//		    return 0;
//		}
//	}
	for(int i=1;i<k;i++){
		if(a[i]=='n'){
			if(a[i+1]=='t'){
				a[i+1]='f';
			}else{
				a[i+1]='t';
			}
			for(int j=i+1;j<=k;j++){
				a[j-1]=a[j];
			}
			k--;
		}
	}
	for(int i=1;i<k;i++){
		if(((a[i]=='t'||a[i]=='f')&&(a[i+1]=='t'||a[i+1]=='f'))||((a[i]=='o'||a[i]=='a')&&(a[i+1]=='o'||a[i+1]=='a'))){
			cout<<"error";
		    return 0;
		}
		
	}
	for(int i=2;i<k;i++){
		if(a[i]=='a'){
			if(a[i-1]=='t'&&a[i+1]=='t'){
			}else{
				a[i+1]='f';
			}
			for(int j=i+1;j<=k;j++){
				a[j-2]=a[j];
			}
			k-=2;
		}
	}
	for(int i=2;i<k;i++){
		if(a[i]=='o'){
			if(a[i-1]=='f'&&a[i+1]=='f'){
			}else{
				a[i+1]='t';
			}
			for(int j=i+1;j<=k;j++){
				a[j-2]=a[j];
			}
			k-=2;
		}
	}
	if(a[k]=='t'){
		cout<<"true";
	}else{
		cout<<"false";
	}
	return 0;
}

回复

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

正在加载回复...