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. LinqToExcel常用对象

    1.ExcelQueryFactory对象(1)获取工作表名集合IEnumerable<string> GetWorksheetNames() //获取工作薄中的工作表名 foreach ...

  2. 代C语言上机实践

    这已经是开学第十二周了,个人感觉严老师教的这批学生效果不是很好,有的竟然毫不知道main函数前边的 int是做什么的.只知按照书本上给的样例程序一个字一个字的敲到编译器中,然后点击运行.有错误也不知道 ...

  3. C# DllImport的用法

    大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码,C#有没有方法可以直接都用这些原本已经存在的功能 ...

  4. POJ1182并查集

    食物链 时间限制:1000 ms  |  内存限制:65535 KB 难度:5   描述 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物, ...

  5. php导出word(可包含图片)

    为大家介绍一个 php 生成 导出word(可包含图片)的代码,有需要的朋友可以参考下. 之前介绍过php生成word的例子,只是不能包含图片与链接. 今天 为大家介绍一个 php 生成 导出word ...

  6. 博客迁移到www.imyzf.com

    本博客已经迁移到www.imyzf.com,本站不再更新,请谅解!

  7. 阿里云服务器centos5.10安装lamp环境

    ==相关命令== 查看linux版本:cat /etc/redhat-release ==配置修改== 一.Apache配置 ------------------------------------- ...

  8. 微信获取用户的openid和详细信息

    获取用户的信息的原理,首先用户会点击一个url,这个url会包含一个参数redirect_uri,这个url是指向微信那边的服务器的,然后微信会把这个http请求重定向到redirect_uri,即我 ...

  9. sql 锁相关(转)

    锁是数据库中的一个非常重要的概念,它主要用于多用户环境下保证数据库完整性和一致性. 我们知道,多个用户能够同时操纵同一个数据库中的数据,会发生数据不一致现象.即如果没有锁定且多个用户同时访问一个数据库 ...

  10. BZOJ 1688: [Usaco2005 Open]Disease Manangement 疾病管理

    Description Alas! A set of D (1 <= D <= 15) diseases (numbered 1..D) is running through the fa ...