题目描述

在新格尔软件公司有一个有趣的考试,名字叫做软件工程师英语水平测试,每年有两次,分别在每年的8月17日和12月的第一个星期六举行。菜哭文是刚刚入职的一名软件工程师,他给自己定了一个小目标,要在自己进入这个公司的N周年纪念日到来之前通过这个测试,那么他想知道自己有多少次机会参加这个考试。

举个例子,如果他是2016年4月16日入职的,那么2017年4月16日就是1周年纪念日。

对于他来说这件事情是很简单,但是呢他是比较懒的,所以想请你来帮他算一下。

输入

题目包含多组数据。

输入的第一行有一个整数T (1≤T≤10) 代表有T组数据。

对于每组数据分为两行:

第一行有一个整数N (1≤N≤10),如上所述。

第二行有一个字符串,YYYY-MM-DD,代表他入职的日期YYYY年MM月DD日(数据保证他入职的日子以及第N年纪念日不会有考试,也保证他入职的日期不会在闰年的2月29日)。

输出

对于每组数据,输出的第一行为Case #x: ,其中x是数据编号(从1开始),

第二行有一个整数,输出答案。

样例输入

112016-04-16

样例输出

Case #1:2

提示

来源

Tongji 2017

代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<string>
#include<cstring>
#include<string.h>
#include<cmath>
#include<map>
using namespace std;

bool cmp1(int mm, int dd){
if(mm < 8){
return true;
}

if(mm == 8){
if(dd<17){
return true;
}
}

return false;
}

bool cmp2(int mm, int dd, int ddd){
if(mm<12){
return true;
}

if(mm == 12){
if(dd<ddd){
return true;
}
}
return false;
}

//获取某一年的12月第一个周六是几号 
int fun(int y, int m, int d){
int c,s,w;

if (m==1) c=d;
else if (m==2) c=31+d;
else if (m==3) c=31+28+d;
else if (m==4) c=31+28+31+d;
else if (m==5) c=31+28+31+30+d;
else if (m==6) c=31+28+31+30+31+d;
else if (m==7) c=31+28+31+30+31+30+d;
else if (m==8) c=31+28+31+30+31+30+31+d;
else if (m==9) c=31+28+31+30+31+30+31+31+d;
else if (m==10) c=31+28+31+30+31+30+31+31+30+d;
else if (m==11) c=31+28+31+30+31+30+31+31+30+31+d;
else if (m==12) c=31+28+31+30+31+30+31+31+30+31+30+d;
if (m>2) {
if (y%100==0) {
if (y%400==0) c=c+1;
} else if (y%4==0) c=c+1;
}
s=(y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400+c;
w=s%7;
int flag;
switch (w) {
case 0:
// printf("星期日");
flag = 0;
break;
case 1:
// printf("星期一");
flag = 1;
break;
case 2:
// printf("星期二");
flag = 2;
break;
case 3:
// printf("星期三");
flag = 3;
break;
case 4:
// printf("星期四");
flag = 4;
break;
case 5:
// printf("星期五");
flag = 5;
break;
case 6:
// printf("星期六");
flag = 6;
break;

}

return 1+(6-flag);

}
int main()
{
int kcase;
scanf("%d",&kcase);
for(int ii=1;ii<=kcase;ii++){
int N,yy,mm,dd;
int ans = 0;
scanf("%d",&N);
scanf("%d-%d-%d",&yy, &mm, &dd);
if(N>=2){
ans = 2 * (N-1);
}

ans++;

int ddd = fun(yy,12,1);
if(cmp2(mm,dd,ddd) == true){
ans++;
}

ddd = fun(yy+N,12,1);
if(cmp2(mm,dd,ddd)==false){
ans++;
}

printf("Case #%d:\n",ii);
printf("%d\n",ans);

}

return 0;
}

TJOJ 1101 软件工程师英语水平测试相关推荐

  1. 关于复旦大学英语水平测试和计算机应用能力水平测试成绩记载事宜的说明,复旦大学水平测试(FCT、FET)近期通知概览 | 一周复旦热问...

    原标题:复旦大学水平测试(FCT.FET)近期通知概览 | 一周复旦热问 复旦大学水平测试 就是我们大家常说的 复旦大学计算机应用能力水平测试(FCT) 和复旦大学英语水平测试(FET)的统称啦 春寒 ...

  2. 英语中学生测试软件,中考英语口语测试软件.doc

    中考英语口语测试软件 中考英语口语测试软件 篇一:2014中考英语口语考试模拟试题 2016年全国中考英语口语考试要求大纲 一.朗读(5分) 给你50秒钟时间准备朗读.当听到"开始录音&qu ...

  3. 求职信计算机工程师英语,软件工程师英语求职信

    在求职信中要重点突出你的背景材料中与未来雇主最有关系的内容.通常招聘人员对其企业有关的信息最敏感,所以你要把你企业和职位之间最重要的信息表达清楚.下面是小编为大家整理的软件工程师英语求职信,希望对大家 ...

  4. 深大计算机专业英语笔试,深大新生入学英语水平测试考什么?英语渣看完瑟瑟发抖......(附3套模拟题)...

    原标题:深大新生入学英语水平测试考什么?英语渣看完瑟瑟发抖......(附3套模拟题) 来源:本文综合自深大考试君,如果有侵权,请及时联系管理员处理. 随着一本二本的招生结束,深大又迎来了一批优秀的新 ...

  5. 关于复旦大学英语水平测试和计算机应用能力水平测试成绩记载事宜的说明,复旦英语水平测试...

    复旦英语水平测试 一.根据<复旦大学2011级本科教学培养方案>,从2011年起,新增"复旦大学英语水 平测试(Fudan English Test)"和"复 ...

  6. 网上英语听力测试的软件,初中英语听力测试

    初中英语听力测试是一款专为初中学生打造的英语听力学习服务应用软件,初中英语听力测试app为用户提供了初一到初三的英语听力题库,并有中考听力真题试题和模拟试题.感兴趣的朋友欢迎使用西西下载! 基本内容 ...

  7. 英语小学口语测试软件,小学英语口语测试方案.pdf

    小学英语口语测试方案 小学英语口语测试方案 新郑市教育体育局基础教育教研室 关于印发<新郑市小学英语学科 2013-2014 新郑市教育体育局基础教育教研室 关于印发<新郑市小学英语学科 ...

  8. 大学英语口语测试软件,大学英语口语测试开发.pdf

    大学英语口语测试开发.pdf 第 29 卷 第 1 期 宜春学院学报 ( 社会科学) Vol. 29 ,No. 1 2007 年 2 月 Journ al of Yichun University ( ...

  9. 辽宁省普通话水平测试软件,辽宁普通话水平测试报名入口

    小编为您带来<2018年9月辽宁普通话水平测试报名时间及入口>,我们一起来看看吧!希望给您带来帮助!更多精彩内容尽在本网,请关注! 2018年9月辽宁普通话水平测试报名时间及入口 辽宁省语 ...

最新文章

  1. TableStore: 海量结构化数据分层存储方案
  2. win7利用remote连接服务器,显示发生身份验证错误 要求的函数不受支持
  3. 5月15日的硬分叉将会给BCH带来什么?
  4. 杭电1260java实现
  5. animation的6个属性
  6. .net Kafka.Client多个Consumer Group对Topic消费不能完全覆盖研究总结(二)
  7. IAR下STM32进入HardFault_Handler
  8. python基础一 day17 二分查找算法
  9. 一个事务复制的bug--更新丢失
  10. 【原创】MySQL 模拟PostgreSQL generate_series 表函数
  11. 一、「下载JDK」「配置JDK」「下载JDK文档」
  12. 梯度散度旋度哈密顿量公式
  13. el-empty Empty 空状态 自定义图片 使用本地图片
  14. 双网络安全nvr/布控球,可双向同时接入国网B接口视频监控平台和国标28181平台
  15. [论文解析] Diffusion Models Beat GANs on Image Synthesis
  16. @EventListener 的使用
  17. 如何用大数据进行宠物店选址要素分析
  18. Ahao网络传媒技术收徒
  19. turn over/turn around/turn up等动词词组
  20. 鸿蒙os2.0手机版,小米手机刷鸿蒙os2.0

热门文章

  1. office2021安装mathtype7中遇到的问题
  2. cytoscape使用教程
  3. 在excel中怎样使一个长数字,如30778287700实现自动递增?
  4. canvas---用canvas制作钟表
  5. 1024程序员节快乐!致敬不平凡的你
  6. 服务器电脑主板维修,服务器主板故障的一些原因和维修的方法
  7. NFT Insider #67:巴塞罗那足球俱乐部推出首个NFT作品,迪拜推出国家元宇宙战略
  8. HDU - 4386
  9. 魅族u20怎么刷Android,魅族魅蓝U20刷机教程-魅族魅蓝U20专用线刷ROM包下载
  10. 企业管理理论综述与实践 — 营销