CCF 模拟D 动态规划
http://115.28.138.223:81/view.page?opid=4
这道题写的我醉醉的,想建一棵指定深度的树最后统计满足条件的个数
居然没去考虑这样必然超时!!!代码写的也是醉了,把没完成的代码先贴出来,好好嘲讽下自己
(╬▔皿▔)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int floorer,num,lable;//0 none ; 1 1 ; 3 3 ; 4 1&3
bool shine1,shine0,shine3,shit,shit0;
int x[]={,,,};
int y[]={,,,};
int donser1=,donser2=,donser3=,donser4=,donser5=;
bool dong1=false,dong2=false,dong3=false,dong4=false,dong5=false;
void creatree(int lab,int flooor)
{ cout<<"-------->floor:"<<flooor<<"(12)"<<endl;
if((flooor==floorer+)&&shine0&&shine1&&shine3){cout<<"*********************************************";num++;}
if(flooor==floorer+){cout<<endl<<"&return "<<endl<<endl;return;}
if(shit&&shit0)
{
for(int i=;i<;i++)
{
cout<<"lab -1 : "<<y[i]<<"(19)"<<endl;
if(y[i]==){dong1=shine0;shine0=;donser1=;}
if(y[i]==){dong1=shine1;shine1=;lab=;donser1=;}
if(y[i]==){dong1=shine3;shine3=;lab=;donser1=;}
if(flooor==floorer+){cout<<"++++"<<"(23)"<<endl;return;}
int ii=flooor;
creatree(lab,++ii);
if(donser1==){shine0=dong1;donser1=;}
if(donser1==){shine1=dong1;donser1=;}
if(donser1==){shine3=dong1;donser1=;}
}
}
if(lab==)
{
for(int i=;i<;i++)
{
cout<<"lab 0 : "<<x[i]<<"(31)"<<endl;
if(y[i]==){dong2=shine0;shine0=;donser2=;}
if(y[i]==){dong2=shine1;shine1=;lab=;donser2=;}
if(y[i]==){dong2=shine3;shine3=;lab=;donser2=;}
if(flooor==floorer+){cout<<"????"<<"(35)"<<endl;return;}
int ii=flooor;
creatree(lab,++ii);
if(donser2==){shine0=dong2;donser2=;}
if(donser2==){shine1=dong2;donser2=;}
if(donser2==){shine3=dong2;donser2=;}
}
}
if(lab==)
{
for(int i=;i<;i++)
{
cout<<"lab 1 : "<<x[i]<<"(43)"<<endl;
if(x[i]==){dong3=shine3;shine3=;lab=;shit=false;donser3=;}
if(flooor==floorer+){cout<<"...."<<"(45)"<<endl;return;}
int ii=flooor;
creatree(lab,++ii);
if(donser3==){shine3=dong3;donser3=;}
}
}
if(lab==)
{
for(int i=;i<;i++)
{
cout<<"lab 3 : "<<y[i]<<"(43)"<<endl;
if(!y[i]==&&!shine1){shit=true;}
if(y[i]==) {shit=false;dong4=shine1;shine1=;lab=;donser4=;}
if(flooor==floorer+){cout<<"````"<<"(56)"<<endl;return;}
int ii=flooor;
creatree(lab,++ii);
if(donser4==){shine1=dong4;donser4=;}
}
}
if(lab==)
{
for(int i=;i<;i++)
{
cout<<"lab 4 : "<<y[i]<<"(64)"<<endl;
if(flooor==floorer+){cout<<"----"<<"(65)"<<endl;return;}
int ii=flooor;
creatree(lab,++ii);
}
}
}
int main()
{
int n,flooor;
while(cin>>n)
{
floorer=n;
shine1=shine0=shine3=shit=shit0=false;
num=lable=;
flooor=;
creatree(,flooor);
cout<<num<<endl;
cout<<endl<<endl;
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++++++++++";
shine1=shine0=shine3=shit=false;
shit0=true;
creatree(,flooor);
cout<<num<<endl;
cout<<endl<<endl;
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++++++++++";
shine1=shine0=shine3=shit=false;
shit0=true;
creatree(,flooor);
cout<<num<<endl;
}
return ;
}
#include<iostream>
using namespace std;
int main()
{
long long mod=;
long long n;
cin>>n;
long long**donser=new long long*[n+];
for(long long i=; i<n+; i++)
donser[i]=new long long[];
for(long long i=; i<; i++)
donser[][i]=;
/*6种状态
*0--剩013
*1--剩13
*2--剩01
*3--剩3
*4--剩1
*5--无
*/
for(long long i=; i<=n; i++)
{
long long j=i-;
donser[i][]=;
donser[i][]=(donser[j][]+donser[j][]*)%mod;
donser[i][]=(donser[j][]+donser[j][])%mod;
donser[i][]=(donser[j][]+donser[j][]*)%mod;
donser[i][]=(donser[j][]+donser[j][]+donser[j][]*)%mod;
donser[i][]=(donser[j][]+donser[j][]+donser[j][]*)%mod;
}
cout<<donser[n][]<<endl;
return ;
}
CCF 模拟D 动态规划的更多相关文章
- codeforces 792CDivide by Three(两种方法:模拟、动态规划
传送门:https://codeforces.com/problemset/problem/792/C 题意:给你一个字符串,要求让你删除最少个数的元素,使得最终答案是没有前导0并且是3的倍数. 题解 ...
- CCF 模拟试题——出现次数最多的数 官方答案解析及自己写的正确答案
前几天知道的CCF计算机职业资格认证考试,觉得好像比软考含金量高一些,就去了解了一下,做了模拟试题中的 “出现次数最多的数” 这道题,我的算法和官方答案算法不同,个人觉得觉得官方的好一点,没那么繁琐, ...
- 2018SCin tsyzDay2 模拟赛-动态规划(简单的)
内心OS:简单?????还是我太弱了. 期望得分:100+100+0+0+0+0+随机暴力的点==200 实际得分:0+100+10+0+10+0==120 您知道我第一题为什么错了嘛??文件在混乱中 ...
- CCF模拟题 窗口
窗口 时间限制: 1.0s 内存限制: 256.0MB 问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域.窗口的边界上的点也属于该窗口.窗口之间有层次的 ...
- CCF 模拟E DFS深搜
http://115.28.138.223:81/view.page?opid=5 这道题问的很怪. 起点DFS,每一个点还要DFS一次,统计不能到终点的个数 数据量不大这样做也能AC #includ ...
- CCF 模拟C 找最大矩形+输入输出外挂
http://115.28.138.223:81/view.page?opid=3 统计出连续的最长乘以当前高度,找最大即可 #include<iostream> #include< ...
- CCF 模拟B 无脑循环+输入输出外挂
http://115.28.138.223:81/view.page?opid=2#code 代码一有WA点80分 #include<iostream> #include<cstdi ...
- CCF 模拟A 无脑大循环
http://115.28.138.223:81/view.page?opid=1 第一题用一组STL函数查找即可 #include<iostream> #include<cstdi ...
- noip模拟赛 动态规划
题目描述LYK在学习dp,有一天它看到了一道关于dp的题目.这个题目是这个样子的:一开始有n个数,一段区间的价值为这段区间相同的数的对数.我们想把这n个数切成恰好k段区间.之后这n个数的价值为这k段区 ...
随机推荐
- 9月9日下午HTML样式表(宽度和高度、背景字体、对齐方式边界与边框)
样式表 一.大小 1.width 宽度 2.height 高度 <div style="width:200px; height:200px"></div&g ...
- python --- Python中的callable 函数
python --- Python中的callable 函数 转自: http://archive.cnblogs.com/a/1798319/ Python中的callable 函数 callabl ...
- bash: ifconfig: command not found解决方法
1.问题: #ifconfig bash: ifconfig: command not found 2.原因:非root用户的path中没有/sbin/ifconfig ,其它的命令也可以出现这种情况 ...
- mono中显示debug信息(filename/lineno)
一直发现 mono 的 traceback 没有 fliename.lineno,很奇怪.研究了下,原来编译和运行时要加参数的. dmcs -debug /r:xunit.dll /t:library ...
- webstorm 文件历史找回~ 恢复正确状态~
事情的经过时这样的~ 我写好的HTML 我新下载了sublime text3 用这个打开了下 结果都变乱码了~ 大概截个图 都恢复了 就不瞎搞了 webstorm有错误的记录都有真好~ 恢复的具体操 ...
- BloomFilter 与 Cuckoo Filter
BloomFilter 与 CuckooFilter Bloom Filter 原理 Bloom Filter是一种空间效率很高的随机数据结构,它的原理是,当一个元素被加入集合时,通过K个相互独立的H ...
- SICP— 第一章 构造过程抽象
SICP Structure And Interpretation Of Computer Programs 中文第2版 分两部分 S 和 I 第一章 构造过程抽象 1,程序设计的基本元素 2,过 ...
- css书写规则总结
1. JavaScript钩子使用的class不能是css class,要加j或j-前缀 2. 选择器 2.1 css选择器尽量简短,层级要少,最好是1-2层 例如:.nav{} 优于 ul.nav{ ...
- Android Studio-设置快速转换局部变量为成员变量
"File"-"Settings"-"KeyMap"-"Main Menu"-"Refactor"- ...
- 推荐 10 个超棒的 CSS3 代码生成工具
新的在线工具和 WebApp 帮助开发者快速地创建网站而不用写代码.前端开发已经在框架和代码库方面有了很大的进展. 但是许多开发者已经忘记了代码生成器在构建网站时的价值.下面的资源是完全免费的 Web ...