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的迷宫,给你入口和出口,让你分别求以下三种情况时,到达出口的步数(总步数包括入口和出口): 第一种: ...
随机推荐
- js替换字符串的所有示例代码
js如何替换字符串中所有. /** * 替换字符串中所有 * @param obj 原字符串 * @param str1 替换规则 * @param str2 替换成什么 * @return 替换后的 ...
- jQuery回车事件
有网就是好. 全局事件: document.onkeydown=function(e){ var ev=document.all?window.evevt:e; if(ev.keyCode==13){ ...
- mySQL时间
" and day='".date('Y-m-d',strtotime($day_g)). "'"; 时间如: 2014-09-09 and day>= ...
- 开源CMS的忠实粉丝——We7
说到开源CMS这个词,首先来说一下什么是开源,因为很多人可能会存在一个误区,开源就是免费使用,其实不然.开源产品,从事软件开发的专业人士都很清楚,开源就是开发源码,是把一个软件的开发过程中的技术结构, ...
- zxing-master core编译
1.下载 Maven: http://maven.apache.org/download.cgi 2.下载完以后,设一下系统变量:MAVE_HOME 3.Path中加入%MAVEN_HOME%\bin ...
- DataGridView控件-学习笔记总结
1.GridColor属性用来获取或设置网格线的颜色 dataGridView1.GridColor=Color.Blue; 2.设置宽度 .高度 dataGridView1.Columns[].Wi ...
- 闭包(Closures)
浅析 JavaScript 中的闭包(Closures) 一.前言 对于 JavaScript 来说,闭包是一个非常强大的特征.但对于刚开始接触的初学者来说它又似乎是特别高深的.今天我们一起来揭开闭包 ...
- linux驱动系列之s3c2440内存布局
刚开始学习linux在2440上面 linux内核分配标志可以分为三类:行为修饰符.区修饰符.类型. 区修饰符表示从哪儿分配内存,内核把物理内存分为多个区,每个区用于不同的目的. 内存中缓冲区存在的原 ...
- 4.0 spring-注册解析的Bean
1.0 registerBeanDefinition 对于配置文件,解析也解析完了,装饰也装饰完了,对于得到的BeanDefinition已经可以满足后续的使用了,唯一剩下的工作就是注册了, 也就是: ...
- PHP htmlspecialchars() 函数
定义和用法 htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体. 预定义的字符是: & (和号) 成为 & " (双引号) 成为 " ...