B. New Year and North Pole

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

In this problem we assume the Earth to be a completely round ball and its surface a perfect sphere. The length of the equator and any meridian is considered to be exactly 40 000 kilometers. Thus, travelling from North Pole to South Pole or vice versa takes exactly 20 000 kilometers.

Limak, a polar bear, lives on the North Pole. Close to the New Year, he helps somebody with delivering packages all around the world. Instead of coordinates of places to visit, Limak got a description how he should move, assuming that he starts from the North Pole. The description consists of n parts. In the i-th part of his journey, Limak should move ti kilometers in the direction represented by a string diri that is one of: "North", "South", "West", "East".

Limak isn’t sure whether the description is valid. You must help him to check the following conditions:

  • If at any moment of time (before any of the instructions or while performing one of them) Limak is on the North Pole, he can move only to the South.
  • If at any moment of time (before any of the instructions or while performing one of them) Limak is on the South Pole, he can move only to the North.
  • The journey must end on the North Pole.

Check if the above conditions are satisfied and print "YES" or "NO" on a single line.

Input

The first line of the input contains a single integer n (1 ≤ n ≤ 50).

The i-th of next n lines contains an integer ti and a string diri (1 ≤ ti ≤ 106, ) — the length and the direction of the i-th part of the journey, according to the description Limak got.

Output

Print "YES" if the description satisfies the three conditions, otherwise print "NO", both without the quotes.

Examples

Input

5
7500 South
10000 East
3500 North
4444 West
4000 North

Output

YES

Input

2
15000 South
4000 East

Output

NO

Input

5
20000 South
1000 North
1000000 West
9000 North
10000 North

Output

YES

Input

3
20000 South
10 East
20000 North

Output

NO

Input

2
1000 North
1000 South

Output

NO

Input

4
50 South
50 North
15000 South
15000 North

Output

YES

Note

Drawings below show how Limak's journey would look like in first two samples. In the second sample the answer is "NO" because he doesn't end on the North Pole.

题目大意:
一头熊从南极出发,每一个step都向一个方向走x米(地球直径为20000米),到达南极时只能往北走,到达北极时只能往南走,最后的终点需要为南极,问题为路径是否合法

其实只需要考虑纵坐标(南北方向)即可

这道题呗hack了一次。。。汗。。。原因是未考虑到y<0不合法的情况

代码:

#include<bits/stdc++.h>
using namespace std;
const int MAXN=60;
struct step
{
int x;
int d;
}a[MAXN];
int x,y;
// bool OK()
// {
// if(y>20000) return 0;
// return 1;
// }
int main()
{
//freopen("data.in","r",stdin);
int n;
while(cin>>n){
y=0;
string str;
for(int i=0;i<n;i++){
cin>>a[i].x;
cin>>str;
if(str=="North")a[i].d=1;
else if(str=="South")a[i].d=2;
else if(str=="West")a[i].d=3;
else if(str=="East")a[i].d=4;
}
bool flag=1;
for(int i=0;i<n;i++){
if(y>20000||y<0){
flag=0;
break;
}
if(y==0){
if(a[i].d!=2) {flag=0;break;}
}
else if(y==20000){
if(a[i].d!=1) {flag=0;break;}
}
switch(a[i].d){
case 1:y-=a[i].x;break;
case 2:y+=a[i].x;break;
case 3:/*x-=a[i].x;if(x>=40000) x%=40000;else if(x<0) x=40000+x;*/break;
case 4:/*x+=a[i].x;if(x>=40000) x%=40000;else if(x<0) x=40000+x;*/break;
}
}
if(y!=0)flag=0;
if(flag) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}

CodeFroces--Good Bye 2016-B--New Year and North Pole(水题-模拟)的更多相关文章

  1. CodeFroces--Good Bye 2016-A-New Year and Hurry(水题-模拟)

    A. New Year and Hurry time limit per test 1 second memory limit per test 256 megabytes input standar ...

  2. VK Cup 2016 - Qualification Round 2 A. Home Numbers 水题

    A. Home Numbers 题目连接: http://www.codeforces.com/contest/638/problem/A Description The main street of ...

  3. codeforces Good bye 2016 E 线段树维护dp区间合并

    codeforces Good bye 2016 E 线段树维护dp区间合并 题目大意:给你一个字符串,范围为‘0’~'9',定义一个ugly的串,即串中的子串不能有2016,但是一定要有2017,问 ...

  4. Good Bye 2016 A. New Year and Hurry【贪心/做题目每道题花费时间按步长为5等差增长,求剩余时间够做几道题】

    A. New Year and Hurry time limit per test 1 second memory limit per test 256 megabytes input standar ...

  5. Codeforces Good Bye 2016 E. New Year and Old Subsequence

    传送门 题意: 给出一个长度为\(n\)的串,现在有\(q\)个询问,每个询问是一个区间\([l,r]\),要回答在区间\([l,r]\)中,最少需要删多少个数,满足区间中包含\(2017\)的子序列 ...

  6. Good Bye 2016

    A - New Year and Hurry (water) #include <bits/stdc++.h> using namespace std; int main() { ]; ; ...

  7. Good Bye 2016 - D

    题目链接:http://codeforces.com/contest/750/problem/D 题意:新年烟花爆炸后会往两端45°差分裂.分裂完后变成2部分,之后这2部分继续按这种规则分裂.现在给你 ...

  8. Good Bye 2016 - C

    题目链接:http://codeforces.com/contest/750/problem/C 题意:在CF中,每个人都有个Rank值. 当Rank>=1900时,为DIV1.Rank< ...

  9. Good Bye 2016 - B

    题目链接:http://codeforces.com/contest/750/problem/B 题意:地球的子午线长度为40000,两极点的距离为20000.现在你从北极出发,按照题目输入方式来走. ...

随机推荐

  1. Layer 中自定义属性的动画

    原文:http://objccn.io/issue-12-2/ Layer 中自定义属性的动画     默认情况下,CALayer 及其子类的绝大部分标准属性都可以执行动画,无论是添加一个 CAAni ...

  2. NSDateComponents

    NSDateComponents将时间表示成适合人类阅读和使用的方式, 首先要遵循某种历法 NSCalendar * cal = [NSCalendar currentCalendar]; 有三种用法 ...

  3. 【IE6的疯狂之四】IE6文字溢出BUG

    在IE6下使用浮动可能会出现文字重复的情况. 在IE6下,浮动层之间有注释文字的话,之前那个浮动层的内容文字就有可能遭遇一个“隐形”的复制,但是代码里查看文字可并没有多出来. 看个例子: XML/HT ...

  4. C#中使用like和in参数传值

    like 参数string strSql = "select * from Person.Address where City like '%'+ @add + '%'";SqlP ...

  5. gvim窗口根据gnome-terminal位置定位

    gvim启动位置固定的话容易挡到东西,所以写了一段vimscript根据gnome-terminal的位置启动gvim,这样被遮住的概率就一些了. fun! g:get_xterm_pos ()&qu ...

  6. JAVA的if用法,比如if(...){} 和if()没有大括号直接写下面的区别是什么

    有大括号的时候 大括号里面所有的 都归if管.只有条件为真的时候 才会执行.没有大括号的时候 只有下面的一句归if管,也就是说 当只有一句的时候 大括号可以省略 其它的 没区别.

  7. Toast用法

    应用场景:弹出提示信息 主界面: 代码如下: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(sa ...

  8. eclipse设置JSP的默认编码

    有时候我们新建一个JSP页面,但是编码却不是我们想要的,我们可在eclipse里面进行如下设置: 点击eclipse上面的window-->preferences 输入查找jsp-->点击 ...

  9. ios根据文本自适应 然后 搭建类似如下效果

    UIView * headView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.tbSecond.size.width, 0)]; hea ...

  10. Google科学家前腾讯副总裁吴军将出席第二届万物互联创新大会

    当越来越多的科技产品注入互联网的基因,"万物互联"的模式悄然兴起.第二届万物互联创新大会(B12大会)将于2016-11-13日在杭州市余杭区隆重召开.Google科学家前腾讯副总 ...