D. Weather Station

AC代码(只要遍历一遍把有两个字母的方向记录下来然后*2就可以了)

Select Code

#include <iostream>
#include <bits/stdc++.h>
#define maxn 1000000007
using namespace std;
char c[100000+10];
int main()
{

    freopen("INPUT.TXT", "r", stdin);
    freopen("OUTPUT.TXT","w",stdout);
    int i;
    cin>>c;
    long long sm = 1;
    int n = strlen(c);
    c[n] = '#';
    for(i = 0;i<n;i++)
    {
        if(c[i]=='N'&&c[i+1]=='E')
        {
            sm*=2;
            sm%=maxn;
        }
        if(c[i]=='S'&&c[i+1]=='E')
        {
            sm*=2;
            sm%=maxn;
        }
        if(c[i]=='S'&&c[i+1]=='W')
        {
            sm*=2;
            sm%=maxn;
        }
        if(c[i]=='N'&&c[i+1]=='W')
        {
            sm*=2;
            sm%=maxn;
        }
    }
    printf("%lld\n",sm);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41524782/article/details/81709972