求助
查看原帖
求助
236862
Miraik楼主2020/5/2 18:47

RT,样例过了

#3 Wrong Answer. wrong answer 1st words differ - expected: 'fantasy', found: 'both'

#include<bits/stdc++.h>
using namespace std;
string s,a,b;bool f1,f2,g1,g2;
int main(){
	cin>>s>>a>>b;
	for(int i=0;i<s.length();i++){
		bool f=1;
		if(!f1){
		    for(int j=i;j-i<a.length();j++)
			    if(s[j]!=a[j-i]){
				    f=0;break;
			    }
		    if(f)f1=1;
		}
		else{
		    for(int j=i;j-i<b.length();j++)
			    if(s[j]!=b[j-i]){
				    f=0;break;
			    }
		    if(f)f2=1;
		}
		//if(f)printf("%d\n",i);
	}
	for(int i=s.length()-1;i>=0;i--){
		bool f=1;
		if(!g1){
		    for(int j=i;i-j<a.length();j--)
			    if(s[j]!=a[i-j]){
				    f=0;break;
			    }
		    if(f)g1=1;
		}
		else{
		    for(int j=i;i-j<b.length();j--)
			    if(s[j]!=b[i-j]){
				    f=0;break;
			    }
		    if(f)g2=1;
		}
		//if(f)printf("%d\n",i);
	}
	if(f1&&f2&&g1&&g2)puts("both");
	else if(f1&&f2)puts("forward");
	else if(g1&&g2)puts("backward");
	else puts("fantasy");
	return 0;
}

求查错

2020/5/2 18:47
加载中...