Cancer or Scorpio

Time Limit: 1 Sec  Memory Limit: 256 MB

题目连接

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3098

Description

Alice and Michael is a young couple who are planning on having their first child. Their wish their son Nelson was born on a special date for both of them.

Alice has investigated in the internet and has found that the period of gestation is forty weeks. These forty weeks begin to count on the first day of the last menstrual cycle.

Michael is passionate about astrology and even more about the zodiac signs, he has asked Alice to investigate the range of dates that correspond to each sign.

Sign Begin End
Aquarius January, 21 February, 19
Pisces February, 20 March, 20
Aries March, 21 April, 20
Taurus April, 21 May, 21
Gemini May, 22 June, 21
Cancer June, 22 July, 22
Leo July, 23 August, 21
Virgo August, 22 September, 23
Libra September, 24 October, 23
Scorpio October, 24 November, 22
Sagittarius November, 23 December, 22
Capricorn December, 23 January, 20

Alice and Michael ask for help to calculate the date of birth of their son Nelson and his zodiac sign.

Input

The first line of input contains a single integer N, ( 1N1000) which is the number of datasets that follow.

Each dataset consists of a single line of input that contains only eight digits that represent the date of the first day of the last menstrual cycle in format MMDDYYYY.

Output

For each dataset, you should generate one line of output with the following values: The dataset number as a decimal integer (start counting at one), a space, the date of birth in format MM/DD/YYYY, a space, and the name (in lowercase) of zodiac sign that correspond according to the date of birth.

Note: Considers leap years.

Sample Input

2
01232009
01232008

Sample Output

1 10/30/2009 scorpio 2 10/29/2008 scorpio

HINT

题意

啊,有个妹子怀孕了,怀孕40周,然后问你这个孩子什么时候出生,出生后的星座是啥

题解:

啊,这个40周是什么鬼啊,我跑了一下样例,发现应该是271天,于是我就改成271,结果一发就交过了……

这道题真是迷啊

代码:

//qscqesze
#include <cstdio>
#include <cmath>
#include <cstring>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>
#include <sstream>
#include <queue>
#include <typeinfo>
#include <fstream>
#include <map>
typedef long long ll;
using namespace std;
//freopen("D.in","r",stdin);
//freopen("D.out","w",stdout);
#define sspeed ios_base::sync_with_stdio(0);cin.tie(0)
#define maxn 200001
#define mod 10007
#define eps 1e-9
//const int inf=0x7fffffff; //无限大
const int inf=0x3f3f3f3f;
/* */
//**************************************************************************************
inline ll read()
{
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
int buf[];
inline void write(int i) {
int p = ;if(i == ) p++;
else while(i) {buf[p++] = i % ;i /= ;}
for(int j = p-; j >=; j--) putchar('' + buf[j]);
printf("\n");
} int month[]={,,,,,,,,,,,,};
int month1[]={,,,,,,,,,,,,};
int check_year(int x)
{
if(x%==)
return ;
if(x%==&&x%!=)
return ;
return ;
}
string check(int x,int y)
{
string ans;
if(x==)
{
if(y<=)
{
ans="capricorn";
return ans;
}
else
{
ans="aquarius";
return ans;
}
}
else if(x==)
{
if(y<=)
{
ans="aquarius";
return ans;
}
else
{
ans="pisces";
return ans;
}
}
else if(x==)
{
if(y<=)
{
ans="pisces";
return ans;
}
else
{
ans="aries";
return ans;
}
}
else if(x==)
{
if(y<=)
{
ans="aries";
return ans;
}
else
{
ans="taurus";
return ans;
}
}
else if(x==)
{
if(y<=)
{
ans="taurus";
return ans;
}
else
{
ans="gemini";
return ans;
}
}
else if(x==)
{
if(y<=)
{
ans="gemini";
return ans;
}
else
{
ans="cancer";
return ans;
}
}
else if(x==)
{
if(y<=)
{
ans="cancer";
return ans;
}
else
{
ans="leo";
return ans;
}
}
else if(x==)
{
if(y<=)
{
ans="leo";
return ans;
}
else
{
ans="virgo";
return ans;
}
}
else if(x==)
{
if(y<=)
{
ans="virgo";
return ans;
}
else
{
ans="libra";
return ans;
}
}
else if(x==)
{
if(y<=)
{
ans="libra";
return ans;
}
else
{
ans="scorpio";
return ans;
}
}
else if(x==)
{
if(y<=)
{
ans="scorpio";
return ans;
}
else
{
ans="sagittarius";
return ans;
}
}
else if(x==)
{
if(y<=)
{
ans="sagittarius";
return ans;
}
else
{
ans="capricorn";
return ans;
}
}
}
int main()
{
int t=read();
for(int cas=;cas<=t;cas++)
{
string s;
cin>>s;
char ch;
int day=,mon=,ye=;
ch=s[];
mon+=ch-'';
ch=s[];
mon=mon*+ch-''; ch=s[];
day+=ch-'';
ch=s[];
day=day*+ch-''; ch=s[];
ye+=ch-'';
ch=s[];
ye=ye*+ch-'';
ch=s[];
ye=ye*+ch-'';
ch=s[];
ye=ye*+ch-''; int now=;
while(now<)
{
now++;
day++;
//cout<<mon<<" "<<day<<" "<<ye<<" "<<now<<endl;
if(check_year(ye))
{
if(day>=month[mon])
{
day=;
mon++;
if(mon>)
{
mon=;
ye++;
}
}
}
else
{
if(day>=month1[mon])
{
day=;
mon++;
if(mon>)
{
mon=;
ye++;
}
}
}
}
if(mon<)
cout<<cas<<""<<mon;
else
cout<<cas<<" "<<mon;
if(day<)
cout<<"/0"<<day<<"/"<<ye<<" "<<check(mon,day)<<endl;
else
cout<<"/"<<day<<"/"<<ye<<" "<<check(mon,day)<<endl;
}
}

UVA 11947 Cancer or Scorpio 水题的更多相关文章

  1. UVa 11636 Hello World! (水题思维)

    题意:给你一个数,让你求需要复制粘贴多少次才能达到这个数. 析:这真是一个水题,相当水,很容易知道每次都翻倍,只要大于等于给定的数就ok了. 代码如下: #include <iostream&g ...

  2. uva 489 Hangman Judge(水题)

    题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&am ...

  3. uva 10252 - Common Permutation 字符串水题

    题意:給定兩個小寫的字串a與b,請印出皆出現在兩字串中的字母,出現的字母由a~z的順序印出,若同字母出現不只一次,請重複印出但不能超過任一字串中出現的次數.(from Ruby兔) 很水,直接比较输出 ...

  4. UVa 10340 - All in All 水题 难度: 0

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  5. UVA 11100 The Trip, 2007 水题一枚

    题目链接:UVA - 11100 题意描述:n个旅行箱,形状相同,尺寸不同,尺寸小的可以放在尺寸大的旅行箱里.现在要求露在最外面的旅行箱的数量最少的同时满足一个旅行箱里放的旅行箱的数量最少.求出这样满 ...

  6. UVA 11461 - Square Numbers 数学水题

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  7. uva 11059 maximum product(水题)——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAB1QAAAMcCAIAAABo0QCJAAAgAElEQVR4nOydW7msuhKF2wIasIAHJK

  8. uva 10976 fractions again(水题)——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAB3gAAAM+CAIAAAB31EfqAAAgAElEQVR4nOzdO7KtPJum69GEpAcVQQ ...

  9. UVa 3602 - DNA Consensus String 水题 难度: 0

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

随机推荐

  1. Shell-判断条件总结

    -b file 若文件存在且是一个块特殊文件,则为真 -c file 若文件存在且是一个字符特殊文件,则为真 -d file 若文件存在且是一个目录,则为真 -e file 若文件存在,则为真 -f ...

  2. redis数据淘汰机制

    volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用 的数据淘汰 volatile-ttl:从已设置过期时间的数据集(server.db[i ...

  3. Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.

    在设置请求头的时候报这个Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPE ...

  4. python基础-类的封装

    封装:类中封装了公有属性和方法,对象封装了私有属性的值 class F1: def __init__(self,n): self.N=n print('F') class F2: def __init ...

  5. TF-tf.nn.dropout介绍

    官方的接口是这样的 tf.nn.dropout(x, keep_prob, noise_shape=None, seed=None, name=None) 根据给出的keep_prob参数,将输入te ...

  6. js中this揭秘

    前端面试题中经常会考this指向问题,初学者通常都会晕头转向,不知所以然.今天我就来讲讲js中this指向问题. this指向大概分为5种情况,记住这6个规律,基本上面试题都能解决. 通过圆括号直接调 ...

  7. linux 命令之cut

    cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的. (1)其语法格式为:cut  [-bn] [file] 或 cut ...

  8. python3 安装

    Centos7 安装python3 #安装sqlite-devel yum -y install sqlite-devel #安装依赖 yum -y install make zlib zlib-de ...

  9. 20155309 《java程序设计》实验四Android程序设计

    任务一: 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号 完成这个任务,首先需要了解Android应用程序文件的组成: src目录: 在src目录中 ...

  10. jboss各种测试方式归类

      不跨工程访问(如:HBase) 跨工程访问(如:Business) 不部署到服务器上 部署到服务器上 不部署到服务器上 部署到服务器上 Junit测试 实例化直接调用 true true Fals ...