POJ 3393 Lucky and Good Months by Gregorian Calendar 模拟题
题目:http://poj.org/problem?id=3393
不多说了,简单模拟题,因为粗心写错了两个字母,导致错了N遍,模拟还是一贯的恶心,代码实在不想优化了,写的难看了点。。
#include <stdio.h>
#include <string.h> const int First = ;
const int Last = ; int month[] = {, , , , , , , , , , , , };
int days[][];
int weekday[][][]; int main()
{
for(int i = ; i <= ; i++)
{
memcpy(days[i], month, sizeof(month));
if( (i < && i % == ) ||
(i > && (i % == && i % != || i % == )))
{
days[i][] = ;
}
}
days[][] = ;
days[][] -= ;
weekday[][][First] = ;
for(int i = ; i <= ; i++)
{
for(int j = ; j <= ; j++)
{
weekday[i][j][Last] = (weekday[i][j][First] + days[i][j] - ) % ;
if(j != )weekday[i][j+][First] = (weekday[i][j][Last] + ) % ;
else weekday[i+][][First] = (weekday[i][j][Last] + ) % ;
}
} int t, ys, ms, ye, me;
scanf("%d", &t);
while(t--)
{
scanf("%d %d %d %d", &ys, &ms, &ye, &me);
int good = , lucky = ;
while(!(ys >= ye && ms >= me))
{
if(weekday[ys][ms][First] == || weekday[ys][ms][First] <= )
good++;
if(weekday[ys][ms][Last] == || weekday[ys][ms][Last] >= )
lucky++;
if(ms++ == )
{
ys++;
ms = ;
}
}
if(weekday[ye][me][First] == || weekday[ye][me][First] <= )
good++;
if(weekday[ye][me][Last] == || weekday[ye][me][Last] >= )
lucky++;
printf("%d %d\n", lucky, 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一道题目挺长的模拟题,参考了网上大神的题解. #include <iostream> #include <cstdi ...
- 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 1008:Maya Calendar(模拟题,玛雅日历转换)
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 64795 Accepted: 19978 D ...
- poj 2236:Wireless Network(并查集,提高题)
Wireless Network Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 16065 Accepted: 677 ...
随机推荐
- Lua代码解析-写给C和C++开发人员
lua语言作为一门轻量级脚本语言,能够非常好的被嵌入到应用程序,因此,在移动游戏开发中举足轻重 然后C/C++开发人员转lua并非非常习惯,我也是..所以,一起努力学习lua吧 lua没有类的概念,有 ...
- mysqltuner
http://mysqltuner.com/ MySQLTuner-perl MySQLTuner is a script written in Perl that will assist you w ...
- find_if函数与partition函数的转换
编写程序,求大于等于一个给定长度的单词有多少.我们还会修改输出,使程序只打印大于等于给定长度的单词. 使用find_if实现的代码如下: #include<algorithm> #incl ...
- APUE习题5.x
5.4 下面的代码在一些机器上运行正确,而在另外一些机器运行时出错,解释问题所在? #include <stdio.h> int main( void ) { char c; while( ...
- frameset和iframe--框架对象及元素标签对象
chrome不兼容:不支持跨frame的变量的获取 var oParent = parent.document.getElementById('contentFrm'); //frameset标签对象 ...
- Linux基础(二)
二.Linux 常用命令 一.命令行操作的流程 录入命令(可以使用各种途径来发送命令) 命令被解释器解释并执行 将结果以产品需要的方式显示出来 二.命令提示符 sq@sq-VirtualBox:~$ ...
- Java SSL/TLS Socket实现
通信端无需向对方证明自己的身份,则称该端处于"客户模式",否则称其处于"服务器模式",无论是客户端还是服务器端,都可处于"客户模式"或者&q ...
- Maven笔记(二)仓库
1.仓库布局 任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,这就是Maven的仓库布局方式 路径与坐标的对应关系为:groupId/artifactId/version/ ...
- Css样式之overflow
1:overflow属性的可能取值有4种:visible,hidden,scroll,和auto 1) visible:不裁剪溢出的内容.浏览器将把溢出的内容呈现在其容器的显示区域之外,全部内容都可见 ...
- js事件模型
连接在此 http://www.cnblogs.com/zqstc/archive/2009/11/26/1611464.html