poj 3393 Lucky and Good Months by Gregorian Calendar(模拟)
题目:http://poj.org/problem?id=3393
一道题目挺长的模拟题,参考了网上大神的题解。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std; int Month[]={,,,,,,,,,,,,};
int Lmonth[]={,,,,,,,,,,,,}; int check(int year)
{
if(year<)
{
if(year%==)
return ;
else
return ;
}
else
{
if(year%==||(year%==&&year%!=)||year==)
return ;
else
return ;
}
} int computeday(int year,int month)
{
int day=,i,j;
for(i=; i<year; i++)
if(check(i))
day+=;
else
day+=; for(j=; j<month; j++)
if(check(i))
day+=Lmonth[j];
else
day+=Month[j]; if(year>||(year==&&month>))
day-=;
return day;
} int main()
{
int luck,good,t,*x;
int ys,ms,ye,me;
int day,i,j;
cin>>t;
while(t--)
{
luck=; good=;
cin>>ys>>ms>>ye>>me;
day=computeday(ys,ms);
if((day+)%<=||(day+)%==)
good++; for(i=ys; i<ye; i++)
{
if(check(i))
x=Lmonth;
else
x=Month;
if(i==ys)
j=ms;
else
j=;
for(; j<=; j++)
{
day+=*(x+j);
if(i==&&j==)
day-=;
if((day+)%<=||(day+)%==)
{
good++;
luck++;
}
}
} if(check(i))
x=Lmonth;
else
x=Month;
if(i==ys)
j=ms;
else
j=;
for(; j<=me; j++)
{
day+=*(x+j);
if(i==&&j==)
day-=;
if((day+)%<=||(day+)%==)
{
if(j!=me)
good++;
luck++;
}
}
printf("%d %d\n",luck,good);
}
return ;
}
poj 3393 Lucky and Good Months by Gregorian Calendar(模拟)的更多相关文章
- POJ 3393 Lucky and Good Months by Gregorian Calendar 模拟题
题目:http://poj.org/problem?id=3393 不多说了,简单模拟题,因为粗心写错了两个字母,导致错了N遍,模拟还是一贯的恶心,代码实在不想优化了,写的难看了点.. #includ ...
- POJ 3393 Lucky and Good Months by Gregorian Calendar
http://poj.org/problem?id=3393 题意 : 对于这篇长长的英语阅读,表示无语无语再无语,花了好长时间,终于读完了.题目中规定每周的周六日为假日,其他为工作日,若是一个月的第 ...
- POJ 3393:Lucky and Good Months by Gregorian Calendar 年+星期 模拟
Lucky and Good Months by Gregorian Calendar Time Limit: 1000MS Memory Limit: 65536K Total Submissi ...
- Lucky and Good Months by Gregorian Calendar - POJ3393模拟
Lucky and Good Months by Gregorian Calendar Time Limit: 1000MS Memory Limit: 65536K Description Have ...
- Lucky and Good Months by Gregorian Calendar(poj 3393)
大致题意: 科普文一篇,文章80%都是无用信息,因为都是常识,但是又不得不看,因为有20%是常人不知道的历史常识. 定义: Goog month : 该月第一个工作日为星期一的月份 Luckly mo ...
- Lucky and Good Months by Gregorian Calendar(模拟)
http://poj.org/problem?id=3393 好大的一道模拟题,直接当阅读理解看了.下面是大神写的题意,解释的好详细. 定义: Goog month : 该月第一个工作日为星期一的月份 ...
- 三部曲二(基本算法、动态规划、搜索)-1003-Lucky and Good Months by Gregorian Calendar
模拟加阅读题......虽然很多事常识性的知识,但也有许多不知道的知识,关键是不读不知道那些是已经知道的那些不是,许多重要的信息零散的分布在一大坨英文里,读起来很痛苦......自己读了一遍,读的晕晕 ...
- poj 2346 Lucky tickets(区间dp)
题目链接:http://poj.org/problem?id=2346 思路分析:使用动态规划解法:设函数 d( n, x )代表长度为n且满足左边n/2位的和减去右边n/2位的和为x的数的数目. 将 ...
- POJ 3083 Children of the Candy Corn (DFS + BFS + 模拟)
题目链接:http://poj.org/problem?id=3083 题意: 这里有一个w * h的迷宫,给你入口和出口,让你分别求以下三种情况时,到达出口的步数(总步数包括入口和出口): 第一种: ...
随机推荐
- linux 学习笔记3
①find -name *.txt //查看当前目录所有文件 .txt 结尾文件 ②whereis *.txt //查看.txt结尾文件 但不显示 .txt 打包:tar -cf a.tar ...
- angularJs--$on、$emit和$broadcast的使用
$emit只能向parent controller传递event与data $broadcast只能向child controller传递event与data $on用于接收event与data 例子 ...
- JS远程获取网页源代码的例子
js代码获取网页源代码. 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < ...
- 如何清除Linux 登陆信息及日志
本文介绍下,在linux中,如何清除访问日志.登陆日志以及曾用命令的方法.有需要的朋友,参考下吧. 在linux系统中,如何清除访问日志.登陆日志及曾使用过的命令呢? 本文介绍的方法,将删除所有日志, ...
- 【转】How to view word document in WPF application
How to view word document in WPF application (CSVSTOViewWordInWPF) Introduction The Sample demonstra ...
- FatMouse
时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:1431 解决:641 题目描述: FatMouse prepared M pounds of cat food, ready to t ...
- OOP三类继承的区别
OOP继承的区别提纲: 1. 普通类继承,并非一定要重写父类方法.2. 抽象类继承,如果子类也是一个抽象类,并不要求一定重写父类方法.如果子类不是抽象类,则要求子类一定要实现父类中的抽象方法.3. 接 ...
- 两年的坚持,最后还是决定将ISoft开源
还记得2011年9月份,我在上大四,本来想着考研能上个好点的学校,可我怎么就不愿去自习室上自习.每天晚上睡觉前都告诉自己明天早晨一定早起去上自习,但又每次醒来都不想起床啊,懒,没办法.睡到不想再睡了才 ...
- ios 保存本地数据的方法
1. NSString *path = [[NSBundle mainBundle] pathForResource:@"文件名" ofType:@"plist" ...
- SQLSERVER数据库管理数据库原理
数据库的存储结构: 1.逻辑存储结构:是指数据库有那些性质的信息组成,即一个数据库由若干用户可视的各种数据库对象构成,如:表,视图,索引,存储过程等 2.物理存储结构:表现为存储数据的各类操作系 ...