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. socket相关系统调用的调用流程

    最近一直在读内核网络协议栈源码,这里以ipv4/tcp为例对socket相关系统调用的流程做一个简要整理,这些相关系统调用的内部细节虽然各有不同,但其调用流程则基本一致: 调用流程: (1)系统调用 ...

  2. 一步一步搭建11gR2 rac+dg之安装rac出现问题解决(六)【转】

    一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之安装rac出现的问题 (六) 本文转自 一步一步搭建11gR2 rac+dg之 ...

  3. 03 Editor plugins and IDEs 编辑器插件和 ide

    Editor plugins and IDEs  编辑器插件和 ide Introduction  介绍 Options 选项   Introduction 介绍 This document list ...

  4. UFLDL(五)自编码算法与稀疏性

    新教程内容太繁复,有空再看看,这节看的还是老教程: http://ufldl.stanford.edu/wiki/index.php/%E8%87%AA%E7%BC%96%E7%A0%81%E7%AE ...

  5. CRM (知识点)

    插件 Django内置Admin Django Admin流程 ModelForm 自定义分页 curd 插件 权限 业务

  6. 进程同步——哲学家进餐问题Java实现

    哲学家就餐问题是1965年由Dijkstra提出的一种线程同步的问题. 问题描述:一圆桌前坐着5位哲学家,两个人中间有一只筷子,桌子中央有面条.哲学家思考问题,当饿了的时候拿起左右两只筷子吃饭,必须拿 ...

  7. OA项目Ioc DI(二)

    依赖注入:属性和构造函数的注入 一个简单的Demo: IUserInfoDal接口: public interface IUserInfoDal { void Show(); string Name ...

  8. day4作业模拟实现一个ATM + 购物商城程序

    作业需求: 模拟实现一个ATM + 购物商城程序 1.额度 15000或自定义: 2.实现购物商城,买东西加入 购物车,调用信用卡接口结账: 3.可以提现,手续费5%: 4.每月22号出账单,每月10 ...

  9. Bridge 桥接

    意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化. 动机 当一个抽象可能有多个实现时,通常用继承来协调它们.抽象类定义对该抽象的接口,而具体的子类则用不同方式加以实现.但是此方法有时不够灵活 ...

  10. 【LOJ】#2672. 「NOI2012」魔幻棋盘

    题解 代码7.1KB,人傻代码长 恶心死我了这代码真的把我写恶心了= = 想一想就知道这个东西--维护到中心的差分,然后用二维线段树维护一下矩形的gcd 嗯,我说完了,你写吧. 首先这个二维线段树的单 ...