North North West
Time Limit: 10000ms, Special Time Limit:25000ms, Memory Limit:65536KB
Total submit users: 71, Accepted users: 59
Problem 13406 : No special judgement
Problem description

We can describe detailed direction by repeating the directional names: north, south, east and west. For example, northwest is the direction halfway between north and west, and northnorth- west is between north and northwest.

In
this problem, we describe more detailed direction between north and west as
follows.

• “north” means 0 degrees.

• “west” means 90
degrees.

• If the direction dir means a degrees and the sum of the
occurrences of “north” and “west” in dir is n (≥ 1), “north”dir (the
concatenation of “north” and dir) means a−90/(2^n) degrees and “west”dir means a
+90/(2^n) degrees.

Your task is to calculate the angle in degrees
described by the given direction.

Input

The input contains several datasets. The number of datasets does not exceed
100.

Each dataset is described by a single line that contains a string
denoting a direction. You may assume the given string can be obtained by
concatenating some “north” and “west”, the sum of the occurrences of “north” and
“west” in the given string is between 1 and 20, inclusive, and the angle denoted
by the given direction is between 0 and 90, inclusive. The final dataset is
followed by a single line containing only a single “#”.

Output

For each dataset, print an integer if the angle described by the given
direction can be represented as an integer, otherwise print it as an irreducible
fraction. Follow the format of the sample output.

Sample Input
north
west
northwest
northnorthwest
westwestwestnorth
#
Sample Output
0
90
45
45/2
315/4
Problem Source
JAG Practice Contest for ACM-ICPC Asia Regional 2014
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int gcd(int x,int y)
{
if(y%x==)return x;
return gcd(y%x,x);
}
int main (void)
{
int n,m,i,j,k,l;
char str[];
int s[];
while(gets(str)&&str[]!='#')
{
l=;
for(i=;str[i];i++)
if(str[i]=='n')
{
s[l++]=;
i+=;
}else
{
s[l++]=-;
i+=;
}
int x,y;
y=;
if(s[--l]==)
{
x=;
}else
{
x=;
}
k=;
while(l--)
{
x*=;
y*=;
k*=;
if(s[l]==)x-=;
else x+=;
}
int g;
if(x%y==)
printf("%d\n",x/y);
else
{
g=gcd(x,y);
printf("%d/%d\n",x/g,y/g);
} ; }
return ;
}

North North West的更多相关文章

  1. CodeFroces--Good Bye 2016-B--New Year and North Pole(水题-模拟)

    B. New Year and North Pole time limit per test 2 seconds memory limit per test 256 megabytes input s ...

  2. 【codeforces 750B】New Year and North Pole

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  3. swift-闭包(代码块)

    语法 通用的语法 {(parameters) -> return type in statements } e.g let studname = { println("Welcome ...

  4. Windows Azure Storage (17) Azure Storage读取访问地域冗余(Read Access – Geo Redundant Storage, RA-GRS)

    <Windows Azure Platform 系列文章目录> 细心的用户会发现,微软在国外和国内的数据中心建设都是成对的,比如香港数据中心(Asia East)和新加坡的数据中心(Sou ...

  5. ExtJs布局详解

    序言 1.百度百科上说:ExtJs功能丰富,无人能出其右.无论是界面之美,还是功能之强,extjs都高居榜首. 2.呵呵,界面之美当是少不了布局的,这篇文章我写layout的七种布局.(extjs是4 ...

  6. silicon labs 代理商

      http://www.silabs.com/buysample/pages/contact-sales.aspx?SearchLocation=China       Silicon Labs A ...

  7. java布局学习 (一)

    Java 程序通过jvm可以很好的移植到其他平台上,但是java 生成的图形界面样式,在不使用布局的情况下,往往需要重新设定大小,才能在新的平台上调整到最佳样式.这是由于组件的最佳大小 往往是与平台相 ...

  8. Swift2.3 --> Swift3.0 的变化

    Swift3.0语法变化 首先和大家分享一下学习新语法的技巧: 用Xcode8打开自己的Swift2.3的项目,选择Edit->Convert->To Current Swift Synt ...

  9. Draw_extend使用OpenGL显示数据点

    //alter load_map.dev //safety verion 2016/1/12 #include <iostream> #include <fstream> #i ...

随机推荐

  1. aspx页面状态管理Cookie和ViewState

    Cookie 设置cookie protected void Button2_Click(object sender, EventArgs e) { HttpCookie cookie = new H ...

  2. redis 安装注意事项

    redis安装 1.redis 安装 官网地址:http://redis.io/download $ wget http://download.redis.io/releases/redis-3.0. ...

  3. 调试NodeJS应用

    OS:Windows 1.下载安装NodeJS 点击http://nodejs.org/界面上“Install”,下载后运行安装,默认安装到到C:\Program Files\nodejs.安装后确认 ...

  4. LCD显示方向

    一.ILI9341内存到显示地址的映射 本文只讨论“正常显示”,不讨论“垂直滚动显示”模式. 可以看到物理内存被两个指针访问,行指针和列指针,行指针范围从000h到013Fh,列指针范围为0000h到 ...

  5. ms flexbox 布局 (ko list)

    <!DOCTYPE html> <html> <head> <title></title> <script src="js/ ...

  6. windows10 Build 10074版本上手体验(二)

  7. 25个App免费资源网站

    不少非常优秀的设计师已经在网络分享了很多出色的图标.界面 PSD 文件,再加上其他一些相关资源,设计 iOS 应用更加方便了. 模板 & PSDs  Icon Template Michael ...

  8. 学无止境,学习AJAX,跨域(三)

    学习AJAX其实有个很重要的应用,就是为了执行另外几个站点的ASP,返回结果. 真正用起来,发现2个问题,>_> 不许笑,一向做DELPHI,接触ASP不多的我,的确问题大堆. 第一个问题 ...

  9. mongodb 简单部署方案及实例

    mongodb 简单部署方案及实例 转载:http://my.oschina.net/zhuzhu0129/blog/53290 第一节 准备工作 一 安装mongodb  我这里选用rehl 5.6 ...

  10. 使用Yeoman搭建 AngularJS 应用 (3) —— 让我们搭建一个网页应用

    原文地址:http://yeoman.io/codelab/setup.html 与Yeoman的交互大多数是通过命令行.在苹果机器需要使用Terminal应用,在Linux使用shell.如果使用W ...