USACO Section1.1 Friday the Thirteenth 解题报告
friday解题报告 —— icedream61 博客园(转载请注明出处)
------------------------------------------------------------------------------------------------------------------------------------------------
【题目】
据说曾经的黑色星期五是13号?本题让我们看看13号与星期五是否比与别的日子更有缘。
给出正整数n,请告诉我在“1900年1月1日”到“1900+n-1年12月31日”中,星期一到星期天各自有多少个13号。
注意,输出时,顺序是周六、周日、周一、周二、周三、周四、周五,一共7个数,空格隔开。
【数据范围】
n<=400
【输入样例】
20
【输出样例】
36 33 34 33 35 35 34
------------------------------------------------------------------------------------------------------------------------------------------------
【分析】
做法很简单,每个月都有13号,所以枚举所有的月份就好了。过程中判断一下平年闰年,保证每月日子别算错就好。
------------------------------------------------------------------------------------------------------------------------------------------------
【总结】
这题写完交上去WA,一看发现输出要求是周六放在第一个……
改完交上去又WA,这次怎么也找不出错来,结果要来了DYZ的AC代码,发现自己change函数三个return没写进if的大括号里,手生啊!
吐槽:我的代码中有对n==0的特判,是因为我被USACO Translate上的翻译坑了……原题中n是正整数,被翻译成了非负数,我也是醉了……
------------------------------------------------------------------------------------------------------------------------------------------------
【代码】
/*
ID: icedrea1
PROG: friday
LANG: C++
*/ #include <iostream>
#include <fstream>
using namespace std; int add[+]={ ,,,,,,,,,,,, }; ifstream in("friday.in");
ofstream out("friday.out"); int n,r[]; void change(int y)
{
if(y%==) { add[]=; return; }
if(y%==) { add[]=; return; }
if(y%==) { add[]=; return; }
add[]=;
}
void work()
{
cout<<"in work"<<endl;
int state=;
for(int y=;y<=+n-;++y)
{
change(y); cout<<"y="<<y<<"\tday="<<add[]<<endl;
for(int m=;m<=;++m)
{
++r[state]; //cout<<"m="<<m<<"\tstate="<<state;
state=(state+add[m])%; //cout<<"\tadd="<<add[m]<<endl;
}
}
out<<r[]<<' '<<r[]<<' '<<r[]<<' '<<r[]<<' '<<r[]<<' '<<r[]<<' '<<r[]<<endl;
} int main()
{
in>>n;
if(n==) { out<<"0 0 0 0 0 0 0"<<endl; } else work();
in.close(); out.close();
return ;
}
USACO Section1.1 Friday the Thirteenth 解题报告的更多相关文章
- USACO Section1.4 Mother's Milk 解题报告
milk3解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...
- USACO Section1.2 Name That Number 解题报告
namenum解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...
- USACO Section1.3 Ski Course Design 解题报告
skidesign解题报告 —— icedream61 博客园(转载请注明出处)------------------------------------------------------------ ...
- USACO Section 1.1 Friday the Thirteenth 解题报告
题目 题目描述 黑色星期五是否真的是一件不同寻常的事情?按理来说每个月的13号可能是星期一,或者是星期二...或者是星期天,但是黑色星期五的存在让我们不禁开始猜想,难道每个月的13号刚好是星期五的频率 ...
- USACO Section 1.3 Prime Cryptarithm 解题报告
题目 题目描述 牛式的定义,我们首先需要看下面这个算式结构: * * * x * * ------- * * * <-- partial product 1 * * * <-- parti ...
- USACO Section 1.4 Arithmetic Progressions 解题报告
题目 题目描述 现在给你一个数集,里面的数字都是由p^2+q^2这种形式构成的0 <= p,q <= M,我现在需要你在其中找出一个长为N的等差数列,数列中的第一个数字为a,公差为b,当你 ...
- USACO Section 1.3 Combination Lock 解题报告
题目 题目描述 农夫John的牛从农场逃脱出去了,所以他决定用一个密码锁来把农场的门锁起来,这个密码锁有三个表盘,每个表盘都是环形的,而且上面刻有1~N,现在John设了一个开锁密码,而且这个锁的设计 ...
- USACO Section 1.3 Barn Repair 解题报告
题目 题目描述 某农夫有一个养牛场,所有的牛圈都相邻的排成一排(共有S个牛圈),每个牛圈里面最多只圈养一头牛.有一天狂风卷积着乌云,电闪雷鸣,把牛圈的门给刮走了.幸运的是,有些牛因为放假,所以没在自己 ...
- USACO Section 1.3 Mixing Milk 解题报告
题目 题目描述 Merry Milk Makers 公司的业务是销售牛奶.它从农夫那里收购N单位的牛奶,然后销售出去.现在有M个农夫,每个农夫都存有一定量的牛奶,而且每个农夫都会有自己的定价.假设所有 ...
随机推荐
- 141. Linked List Cycle (amazon)
Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using ext ...
- 2017.9.28 web设计简单的购物车应用案例--session的简单应用
该购物过程是在session范围内完成的,需要使用session对象实现信息的共享 (1)购买“肉类”商品的页面 <%@ page language="java" impor ...
- MCV 的几种表单提交方式
一,MVC HtmlHelper方法 Html.BeginForm(actionName,controllerName,method,htmlAttributes){} 其中actionName ...
- 解决 Jsp_Servlet 编码乱码问题
Tomcat8.0以上浏览器请求的数据编码格式(包含): Get请求的时候Tomcat用UTF-8处理 post请求的时候Tomcat用ISO8859-1处理 Tomcat8.0以下浏览器请求的数据编 ...
- js对象动态添加属性,方法
1. 动态添加属性,方法 var object = new Object(); object.name = "name"; object.age = 19; >>> ...
- PHP中json_encode后,在json字符串中依然显示中文的解决方案
<?php header("Content-Type:text/html;charset=utf-8;"); $arr = array ('Version_code'=> ...
- 【转载】VS2015 + EF6连接MYSQL5.6
引用文章:https://jingyan.baidu.com/article/ce09321b9cc43f2bff858fbf.html 安装包注意点说明: 1.程序名称:mysql-for-visu ...
- CSS3解决移动端手指点击或滑动屏幕时出现的浅蓝色背景框
当时做完移动端页面发现点击图片(背景图按钮),出现了浅蓝色背景,实属影响页面美观,解决这一问题代码如下 html,body{ -webkit-tap-highlight-color: rgba(0,0 ...
- HTML+CSS : 笔记整理(2 常规流,BFC,固定定位,z-index)
BFC和常规流的关系是什么:常规流遵循BFC,IFC规则. 定位规则总体来说三种: 常规流,浮动,绝对定位(CSS3里面新加了一种flex) 其中常规流包括BFC,IFC等规则,块级元素一个一排地从上 ...
- Gson转Map时,Int会变成double解决方法
package com.cdy.demo; import java.lang.reflect.Type; import java.util.HashMap; import java.util.Map; ...