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 动态规划的更多相关文章

  1. codeforces 792CDivide by Three(两种方法:模拟、动态规划

    传送门:https://codeforces.com/problemset/problem/792/C 题意:给你一个字符串,要求让你删除最少个数的元素,使得最终答案是没有前导0并且是3的倍数. 题解 ...

  2. CCF 模拟试题——出现次数最多的数 官方答案解析及自己写的正确答案

    前几天知道的CCF计算机职业资格认证考试,觉得好像比软考含金量高一些,就去了解了一下,做了模拟试题中的 “出现次数最多的数” 这道题,我的算法和官方答案算法不同,个人觉得觉得官方的好一点,没那么繁琐, ...

  3. 2018SCin tsyzDay2 模拟赛-动态规划(简单的)

    内心OS:简单?????还是我太弱了. 期望得分:100+100+0+0+0+0+随机暴力的点==200 实际得分:0+100+10+0+10+0==120 您知道我第一题为什么错了嘛??文件在混乱中 ...

  4. CCF模拟题 窗口

    窗口 时间限制: 1.0s 内存限制: 256.0MB   问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域.窗口的边界上的点也属于该窗口.窗口之间有层次的 ...

  5. CCF 模拟E DFS深搜

    http://115.28.138.223:81/view.page?opid=5 这道题问的很怪. 起点DFS,每一个点还要DFS一次,统计不能到终点的个数 数据量不大这样做也能AC #includ ...

  6. CCF 模拟C 找最大矩形+输入输出外挂

    http://115.28.138.223:81/view.page?opid=3 统计出连续的最长乘以当前高度,找最大即可 #include<iostream> #include< ...

  7. CCF 模拟B 无脑循环+输入输出外挂

    http://115.28.138.223:81/view.page?opid=2#code 代码一有WA点80分 #include<iostream> #include<cstdi ...

  8. CCF 模拟A 无脑大循环

    http://115.28.138.223:81/view.page?opid=1 第一题用一组STL函数查找即可 #include<iostream> #include<cstdi ...

  9. noip模拟赛 动态规划

    题目描述LYK在学习dp,有一天它看到了一道关于dp的题目.这个题目是这个样子的:一开始有n个数,一段区间的价值为这段区间相同的数的对数.我们想把这n个数切成恰好k段区间.之后这n个数的价值为这k段区 ...

随机推荐

  1. scrapy3_ 安装指南

    安装指南 安装Scrapy 注解 请先阅读 平台安装指南. 下列的安装步骤假定您已经安装好下列程序: Python 2.7 Python Package: pip and setuptools. 现在 ...

  2. js操作DOM动态添加和移除事件

    非IE下,注意事件名不带on,如onclick为click 添加事件:DOM对象.addEventListener('事件名',函数名,true/false); 删除事件:DOM对象.removeEv ...

  3. 9月22日下午JavaScript----Document对象

    document对象 一.找元素 1.根据id找 示例: <input id = "a" type="button" value="找元素&qu ...

  4. 使用node的插件UglifyJs来合并和压缩文件

    code: var fs = require('fs'); var jsp = require("./UglifyJS-master/uglify-js").parser; var ...

  5. echosp 销量排行 新增实际价格

    找到lib_goods.php第147行,代码 $sql = 'SELECT g.goods_id, g.goods_name, g.shop_price,g.goods_thumb, SUM(og. ...

  6. Hosts知多少?

    Hosts知多少?   老D hosts 定期更新地址: http://laod.cn/hosts/2016-google-hosts.html   老Dhosts 页面长期更新最新Google.谷歌 ...

  7. CLR 公共语言运行库

    1..支持多语言..只是语言是面向CLR的..均可以在此基础上运行. 2..程序集加载..程序打包之后的Dll文件由CLR(公共语言运行库)来编译并加载到可以执行状态..由CLR(公共语言运行库)加载 ...

  8. YII2操作mongodb笔记(转)

    componets配置: 'mongodb' => [ 'class' => '\yii\mongodb\Connection', 'dsn' => 'mongodb://test: ...

  9. HTML Agility Pack 搭配 ScrapySharp,彻底解除Html解析的痛苦

    var divs = html.CssSelect("div");  //all div elementsvar nodes = html.CssSelect("div. ...

  10. System.exit(0)和System.exit(1)区别

    System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() .无论如何,内存都释放了!也就是说连JV ...