第二周 7.17-7.23

7.17

HDU 5456 Matches Puzzle Game

没有最丑只有更丑。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <algorithm>
 5 using namespace std;
 6 typedef long long LL;
 7 int num[] = { 6, 2, 5, 5, 4, 5, 6, 3, 7, 6 };
 8 LL dp[555][2][2][2][2];
 9
10 int main(void)
11 {
12     int T;
13     scanf("%d", &T);
14     for(int kase = 1; kase <= T; kase++)
15     {
16         LL n, m;
17         scanf("%I64d %I64d", &n, &m);
18         memset(dp, 0, sizeof(dp));
19         dp[n-3][0][0][0][0] = 1;
20         for(int i = n - 3; i > 0; i--)
21         {
22             for(int p1 = 0; p1 <= 1; p1++)
23             for(int p2 = 0; p2 <= 1; p2++)
24             for(int p3 = 0; p3 <= 1; p3++)
25             for(int k = 0; k <= 1; k++)
26             for(int a = 0; a <= 9; a++)
27             for(int b = 0; b <= 9; b++)
28             {
29                 if(p1 || p2 && b) continue;
30
31                 int c = a - k - b, nk = 0;
32                 if(c < 0) c += 10, nk = 1;
33                 if(p3 && c) continue;
34
35                 int tot = num[a];
36                 if(!p2) tot += num[b];
37                 if(!p3) tot += num[c];
38                 if(tot > i) continue;
39
40                 for(int pp1 = 0; pp1 <= 1; pp1++)
41                 for(int pp2 = 0; pp2 <= 1; pp2++)
42                 for(int pp3 = 0; pp3 <= 1; pp3++)
43                 {
44                     if(p1 && !pp1) continue;
45                     if(p2 && !pp2) continue;
46                     if(p3 && !pp3) continue;
47                     if(pp1 && !(a && !nk)) continue;
48                     if(!p2 && pp2 && !b) continue;
49                     if(!p3 && pp3 && !c) continue;
50                     if(pp1 && !pp2) continue;
51                     if(pp1 && !pp3) continue;
52                     dp[i-tot][pp1][pp2][pp3][nk] = (dp[i-tot][pp1][pp2][pp3][nk] + dp[i][p1][p2][p3][k]) % m;
53                 }
54             }
55         }
56
57         printf("Case #%d: %I64d\n", kase, dp[0][1][1][1][0]);
58
59     }
60     return 0;
61 }

Aguin

时间: 2024-10-20 05:00:02

第二周 7.17-7.23的相关文章

第二周(12.17--12.23)

1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. mkdir //创建目录 -p 确保目录名称存在,不存在的就建一个.-v 创建目录并显示详细信息 touch //创建文本 -a 改变档案的读取时间记录.-m 改变档案的修改时间记录.-c 假如目的档案不存在,不会建立新的档案.与 --no-create 的效果一样.-d 设定时间与日期,可以使用各种不同的格式.-t 设定档案的时间记录,格式与 date 指令相同. cp  //复制文件或目录命令 -a 此选项通常在复

校外实习-第二周总结7.17

由于昨天去医院了,所以昨天没有做总结,改成今天做总结.时间如白驹过隙,如今我已然完成了实习的第二周,现在都开始写着第二周的总结了,回想第一周,发现这周的我相比于第一周在收获知识上更多了一些.可能这也和老师亲自教我有关,因为一对一的教学和与大家一同上课不一样,一对一教学有问题可以当面及时的提出来,由于我个人原因所以在与大家一起上课时并没有在遇到问题时及时的问授课老师,所以这就可能影响了我学习的效率. 遇到的问题:在常见兼容问题的处理上遇到了点问题. 解决方法:通过老师的耐心教导已经解决了. 下周计

第二周:PSP&amp;进度条

PSP: 一.词频统计改进 1.表格:     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(hrs) 学习 <构建之法>.Java 8:46 12:18 28 152 3  分析 读需求.分析需求 13:12 14:52 30 130 1.5  编码 具体编码 14:54 20:17 82 241 4  调试 修改代码.代码复审 20:32 21:54 18 64 1 总结 总结结果 23:06 23:39 0 33 0.5 2.饼图: 3.总结分析

HarvardX: PH525.4x Introduction to Bioconductor第二周笔记

PH525.4x第二周内容围绕GRange类的操作和使用Annotation进行数据关联两个主题展开,并展示了几个比较“炫”的功能.由于内容繁多,信息量大,故笔记之以便日后参考.该课程的演示数据为ChIP-seq的实验数据,背景为人类肝细胞(cell line:HepG2和GM12878)中被ESRRA (estrogen related receptor alpha)绑定的基因片段.在展示数据操作之前,首先检查bioconductor的版本号,不同版本的输出可能存在差异. library(Bi

hiho 第二周

Trie树,第一次写,简单的建树+搜索 它的思路hiho上讲得很清楚,good~ 1 #include<iostream> 2 #include<string> 3 using namespace std; 4 char word[11]; 5 int n,m; 6 struct trie 7 { 8 int num; 9 trie *next[26]; 10 trie() 11 { 12 num = 0; 13 for(int i = 0; i < 26; i++) 14

OneZero第二周第三次站立会议(2016.3.30)

会议时间:2016年3月30日  13:00~13:20 会议成员:冉华,张敏,王巍,夏一鸣. 会议目的:汇报前一天工作,全体成员评论,确定会后修改内容或分配下一步任务. 会议内容: 1.前端,完成功能点为“将获取信息转化为中端所需格式”,“发送获取的信息给中端”.以下是代码部分 1 package com.onezero.account; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 im

魏昊卿——《Linux内核分析》第二周作业:了解操作系统是怎样工作的

魏昊卿——<Linux内核分析>第二周作业:了解操作系统是怎样工作的 一.实验部分 使用实验楼的虚拟机打开shell cd LinuxKernel/linux-3.9.4 qemu -kernel arch/x86/boot/bzImage 然后cd mykernel 您可以看到qemu窗口输出的内容的代码mymain.c和myinterrupt.c 使用自己的Linux系统环境搭建过程参见mykernel,其中也可以找到一个简单的时间片轮转多道程序内核代码 mymain.c myinterr

学习linux第二周作业

第二周作业: 本周作业内容: 1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. touch,rm,mv,cp,file,ls,chmod,chown,ln,rename, touch 修改文件atime,如果文件不存在,那么创建该文件. rm:删除文件. -r:循环删除,包含文件和目录 -f:强制删除,布询问. -i:询问是否删除. 默认情况下,系统自带别名,rm=rm -i mv:移动文件,可以在移动的过程中重命名文件或文件夹. 例如:移动重命名mytest1目录为

20172327 2017-2018-2 《程序设计与数据结构》第二周学习总结

20172327 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 字符串的拼接和转义序列的使用 变量的声明和使用 讨论语法及表达式的处理 定义数据转换类型和实现类型转换的机制 创建Scanner类 教材学习中的问题和解决问题 暂无 代码学习中的问题和解决过程 问题1:在提交过程中,突然遇到无法上传的情况 问题2解决方案:通过上网查找,输入git pull之后弹出一个编辑框,选择关闭之后,再次用git push就成功了. 问题2:在按照例题2.10打代码时,Jav

软件质量与测试第二周作业 WordCount

第二周作业 WordCount 一.Github 地址 https://github.com/llag9810/Software-Quality-and-Testing-Wordcount 二.PSP2.1 表格 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 60 25 · Estimate · 估计这个任务需要多少时间 30 15 Development 开发 600 810 · Analysis · 需求分析 (包括学习新技术) 60 60 · D