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. Linux下如何在进程中获取虚拟地址对应的物理地址【转】

    转自:http://blog.csdn.net/kongkongkkk/article/details/74366200 如果让你编写一个程序,来获取虚拟地址对应的物理地址..你会试着操作MMU吗.. ...

  2. mysql -> 备份与恢复_11

    备份恢复原理 逻辑备份 物理备份 备份工具

  3. 排序算法——Shell排序

    二.Shell排序 Shell排序也叫“缩减增量排序”(disminishing increment sort),基于插入排序进行. Shell建议的序列是一种常用但不理想的增量序列:1,...,N/ ...

  4. day08作业

    1.A.在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 B.在内存中的位置不同 成员变量:在堆内存(成员变量属于对象,对象进堆内存) 局部变量:在栈内存(局部变量属于方 ...

  5. 虚拟机 SUSE Linux Enterprise Server 12 SP2 64

    下载地址:https://www.suse.com/zh-cn/products/server/download/ 下载以后使用虚拟机安装即可

  6. maven学习--生命周期

    clean --清理项目 default --构建项目(最核心)  ===========compile , test , package , install site --生成项目站点

  7. apachebench对网站进行并发测试

    ,安装apache ,打开cmd进入apache安装目录的bin目录(有ab.exe) ,执行ab命令 格式:ab -n -c http://localhost:80/test/test.php 说明 ...

  8. ZooKeeper实践:(1)集群管理

    前言: 随着业务的扩大,用户的增多,访问量的增加,单机模式已经不能支撑,从而出现了从单机模式->垂直应用模式->集群模式,集群模式诞生了,伴随着一堆问题也油然而生,Master怎么选举,机 ...

  9. Storm(二)CentOS7.5搭建Storm1.2.2集群

    一.Storm的下载 官网下载地址:http://storm.apache.org/downloads.html 这里下载最新的版本storm1.2.2,进入之后选择一个镜像下载 二.Storm伪分布 ...

  10. Linux下安装Zookeeper

    Zookeeper是一个协调服务,可以用它来作为配置维护.名字服务.分布式部署: 下面,我来分享一下在Linux下安装Zookeeper的整个步骤,让大家少走弯路. 一.Zookeeper下载 [ro ...