给定具有人行进的N个方向的字符串S。任务是检查他/她是否能够返回到他/她开始的地方。在第i天(1 <= i <= N),他将朝以下方向移动正距离:
North if the i-th letter of str is N
West if the i-th letter of str is W
South if the i-th letter of str is S
East if the i-th letter of str is E
如果他可以在第n天后返回到开始的地方,则打印“是”,否则打印“否”。
例子:
Input: str = “NNNWEWESSS”
Output: YES
On the 1st, 2nd, and 3rd day he goes to north and on the 4th day he goes west, then eventually
returns where he was standing on the 3rd day on the 5th day, then on the 6th day he again goes to
west.On the 7th day he again return exactly to where he was standing on the 5th day.And on the
10th day he returns home safely.
Input: str = “NW”
Output: NO
方法: N的数量必须与S的数量相同,E的数量必须与W的数量相同。因此,计算给定的每种类型的方向,然后检查它们是否相等。
下面是上述方法的实现:
C++
// C++ implementation of above approach
#include
using namespace std;
int main()
{
string st = "NNNWEWESSS" ;
int len = st.length();
int n = 0 ; // Count of North
int s = 0 ; // Count of South
int e = 0 ; // Count of East
int w = 0 ; // Count of West
for (int i = 0; i < len ; i++ )
{
if(st[i]=='N')
n += 1;
if(st[i] == 'S')
s += 1;
if(st[i] == 'W')
w+= 1 ;
if(st[i] == 'E')
e+= 1 ;
}
if(n == s && w == e)
cout<<("YES")<
Java
// Java implementation of above approach
public class GFG {
public static void main(String args[])
{
String st = "NNNWEWESSS" ;
int len = st.length();
int n = 0 ; // Count of North
int s = 0 ; // Count of South
int e = 0 ; // Count of East
int w = 0 ; // Count of West
for (int i = 0; i < len ; i++ )
{
if(st.charAt(i)=='N')
n+= 1 ;
if(st.charAt(i) == 'S')
s+= 1 ;
if(st.charAt(i) == 'W')
w+= 1 ;
if(st.charAt(i) == 'E')
e+= 1 ;
}
if(n == s && w == e)
System.out.println("YES");
else
System.out.println("NO") ;
}
// This Code is contributed by ANKITRAI1
}
Python
# Python implementation of above approach
st = "NNNWEWESSS"
length = len(st)
n = 0 # Count of North
s = 0 # Count of South
e = 0 # Count of East
w = 0 # Count of West
for i in range(length):
if(st[i]=="N"):
n+= 1
if(st[i]=="S"):
s+= 1
if(st[i]=="W"):
w+= 1
if(st[i]=="E"):
e+= 1
if(n == s and w == e):
print("YES")
else:
print("NO")
C#
// C# implementation of above approach
using System;
class GFG {
// Main Method
public static void Main()
{
string st = "NNNWEWESSS" ;
int len = st.Length;
int n = 0 ; // Count of North
int s = 0 ; // Count of South
int e = 0 ; // Count of East
int w = 0 ; // Count of West
for (int i = 0; i < len ; i++ )
{
if(st[i]=='N')
n += 1 ;
if(st[i] == 'S')
s += 1 ;
if(st[i] == 'W')
w += 1 ;
if(st[i] == 'E')
e += 1 ;
}
if(n == s && w == e)
Console.WriteLine("YES");
else
Console.WriteLine("NO") ;
}
}
// This code is contributed by Subhadeep
PHP
YES