刚开始一直WA,才发现原来代码中两处减去年份、月份的天数的判断条件用的是>=,虽然最后考虑n=0要退回一天的情况,但还是WA。后来改成>的条件判断,省去了考虑n=0的麻烦,AC。

此题无非就是考虑平年、闰年,月底月末,年底年末的情况。

  1. #include <iostream>
  2. #include <string.h>
  3. #include <stdio.h>
  4. #include <cstring>
  5. #include <stdlib.h>
  6.  
  7. using namespace std;
  8. char strd[][],strm[][];
  9. char week[][]={"Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday"};
  10. int month[]={,,,,,,,,,,,,};
  11. int year[]={,};
  12. struct Cal {
  13. int y,m,d;
  14. } cal;
  15.  
  16. int isRun(int n){
  17. if((n%== && n%!=)||(n%==))
  18. return ;
  19. return ;
  20. }
  21. int main() {
  22. int n,y,m,d;//y:年,m:月,d:周几
  23. while(scanf("%d",&n)!=EOF) {
  24. if(n==-)
  25. break;
  26. d=n%;//2000.01.01为星期六
  27. n++;
  28. y=m=;
  29. //如果写成>=,还要考虑当n刚好为365、366时要退回一天的情况
  30. while(n>year[isRun(+y)]) {
  31. n-=year[isRun(+y)];
  32. y++;
  33. }
  34.  
  35. y+=;
  36. if(isRun(y))
  37. month[]++;
  38. int i;
  39. for(i=; i<=; i++) {
  40. //改成n>month[i],即可不用考虑当n=0要退回一天的情况
  41. if(n>month[i]) {
  42. n-=month[i];
  43. }
  44. else
  45. break;
  46. }
  47.  
  48. m=i;
  49. if(month[]==)
  50. month[]--;
  51. cout<<y<<"-"<<(m<?"":"")<<m<<"-"<<(n<?"":"")<<n<<" "<<week[d]<<endl;
  52.  
  53. }
  54. return ;
  55. }

POJ 2080 Calendar(很水的模拟)的更多相关文章

  1. poj 1724 ROADS 很水的dfs

    题意:给你N个城市和M条路和K块钱,每条路有话费,问你从1走到N的在K块钱内所能走的最短距离是多少 链接:http://poj.org/problem?id=1724 直接dfs搜一遍就是 代码: # ...

  2. POJ 2080:Calendar

    Calendar Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 12546   Accepted: 4547 Descrip ...

  3. 【jQuery基础学习】09 jQuery与前端(这章很水)

    这章主要是将如何将jQuery应用到网站中,或者说其实就是一些前端知识,对于我这种后端程序来说其实还是蛮有用的. 关于网站结构 文件结构 前端文件分三个文件夹放 images文件夹用来存放将要用到的图 ...

  4. POJ 1488 Tex Quotes --- 水题

    POJ 1488 题目大意:给定一篇文章,将它的左引号转成 ``(1的左边),右引号转成 ''(两个 ' ) 解题思路:水题,设置一个bool变量标记是左引号还是右引号即可 /* POJ 1488 T ...

  5. POJ.3087 Shuffle'm Up (模拟)

    POJ.3087 Shuffle'm Up (模拟) 题意分析 给定两个长度为len的字符串s1和s2, 接着给出一个长度为len*2的字符串s12. 将字符串s1和s2通过一定的变换变成s12,找到 ...

  6. 『NYIST』第八届河南省ACM竞赛训练赛[正式赛一]-CodeForces 236A,虽然很水,但有一个很简单的函数用起来方便

    A. Boy or Girl time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  7. FZU 2205 据说题目很水

    2205 据说题目很水 Accept: 199    Submit: 458Time Limit: 1000 mSec    Memory Limit : 32768 KB Problem Descr ...

  8. POJ 1068 Parencodings【水模拟--数括号】

    链接: http://poj.org/problem?id=1068 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=27454#probl ...

  9. POJ 3829 Seat taking up is tough(——只是题目很长的模拟)

    题目链接: http://poj.org/problem?id=3829 题意描述: 输入矩阵的大小n和m,以及来占位置的人数k 输入n*m的教室座位矩阵,每个值表示该座位的满意度 输入每个人来占位置 ...

随机推荐

  1. Codevs 1014 装箱问题

    题目描述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若 ...

  2. IC卡的逻辑卡号和市民卡卡号

    CPU卡,IC卡等的卡号与卡在出厂时的卡号.

  3. 字符串反转(charat)

    package com.java1234.chap03.sec08; public class zifufanzhuan { public static void main(String[] args ...

  4. Ubuntu搜狗输入法的使用

    下载搜狗拼音输入法安装包 删除ibus,确认没有以ibus开头的包存在 sudo dpkg -P ibus ibus-gtk ibus-gtk3 ibus-pinyin ibus-pinyin-db- ...

  5. win10任务视图

    之所以用到win10任务视图源自于一个需求,就是我想在上班操作电脑的同时想将某个游戏在后台挂机,这样工作归工作,挂机归挂机,互不干扰.win10任务视图就能轻松的解决这个问题. 任务视图 新建任务视图 ...

  6. PHP流程控制语句

    流程控制语句分为两种(自己学到的就有俩不过在网上看还有两种) 1:条件控制语句即(if, if else , elseif , switch case) if语句不多说了,基本上大家都知道.if el ...

  7. windows创建桌面快捷方式的VBA脚本

    Dim wShell, oShortcut    'Dim strDesktop$ ' 为了与VBS兼容,    Dim strDesktop    ' 这里改写一下,测试通过...    Set w ...

  8. Python-Day7 面向对象进阶/异常处理/Socket

    一.面向对象高级语法部分 1.静态方法     通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里 ...

  9. SSL handshake failed: SSL 错误:在证书中检测到违规的密钥用法。

    问题:在WINDOWS中创建的SVN Server,在Linux client中无法连接.原因:WINDOWS中的证书无法被Linux正确识别,因此需要修改证书,以使双方都可以正确识别. 修改方法如下 ...

  10. Qt在VS2010的安装与配置

    1. 下载Qt的安装包和VS2010的Qt插件 2. 安装Qt SDK 点击下载安装包,一路回车即可,主要注意Qt的安装路径最好安装在全英文路径而且中间没有空格, 安装好后,可以运行开始菜单里面的Qt ...