Codeforces Beta Round #8

A题,小小的模拟题,没看懂题意啊。

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <map>
#include <vector>
#include <queue>
using namespace std;
char s[3][100001];
int main()
{
    int i,l1,l2,l0,j;
    for(i = 0;i < 3;i ++)
    scanf("%s",s[i]);
    l0 = strlen(s[0]);
    l1 = strlen(s[1]);
    l2 = strlen(s[2]);
    int z1,z2;
    z1 = z2 = 0;
    for(i = 0;i < l0;i ++)
    {
        for(j = 0;j < l1;j ++)
        {
            if(s[0][i+j] != s[1][j])
            break;
        }
        if(j == l1)
        {
            break;
        }
    }
    for(i = i+l1;i < l0;i ++)
    {
        for(j = 0;j < l2;j ++)
        {
            if(s[0][i+j] != s[2][j])
            break;
        }
        if(j == l2)
        {
            z1 = 1;
            break;
        }
    }
    for(i = 0;i < l0/2;i ++)
    {
        swap(s[0][i],s[0][l0-i-1]);
    }
    for(i = 0;i < l0;i ++)
    {
        for(j = 0;j < l1;j ++)
        {
            if(s[0][i+j] != s[1][j])
            break;
        }
        if(j == l1)
        {
            break;
        }
    }
    for(i = i+l1;i < l0;i ++)
    {
        for(j = 0;j < l2;j ++)
        {
            if(s[0][i+j] != s[2][j])
            break;
        }
        if(j == l2)
        {
            z2 = 1;
            break;
        }
    }
    if(z1&&z2)
    {
        printf("both
");
    }
    else if(z2)
    {
        printf("backward
");
    }
    else if(z1)
    {
        printf("forward
");
    }
    else
    printf("fantasy
");
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/naix-x/p/3681222.html