USACO Section 2.2: Party Lamps
这题有个小技巧, 按一个键两次等于没按,所以如果depsum > 16的话其实不用做深搜到depsum次,而只要16次就可以了。
/* ID: yingzho1 LANG: C++ TASK: lamps */ #include <iostream> #include <fstream> #include <string> #include <map> #include <vector> #include <set> #include <algorithm> #include <stdio.h> #include <queue> #include <cstring> using namespace std; ifstream fin("lamps.in"); ofstream fout("lamps.out"); int N, depsum; bool check(string s, vector<int> &on, vector<int> &off) { ; i < on.size(); i++) { ') return false; } ; i < off.size(); i++) { ') return false; } return s.size(); } void dfs(set<string> &res, int c1, int c2, int c3, int c4, string s, vector<int> &on, vector<int> &off, int dep) { if (check(s, on, off)) { == ) { res.insert(s); //return; } } || dep > depsum) return; string pre = s; ) { dfs(res, c1+, c2, c3, c4, s, on, off, dep+); ; i < s.size(); i++) { '; '; } dfs(res, c1+, c2, c3, c4, s, on, off, dep+); } s = pre; ) { dfs(res, c1, c2+, c3, c4, s, on, off, dep+); ; i < s.size(); i++) { == ) { '; '; } } dfs(res, c1, c2+, c3, c4, s, on, off, dep+); } s = pre; ) { dfs(res, c1, c2, c3+, c4, s, on, off, dep+); ; i < s.size(); i++) { == ) { '; '; } } dfs(res, c1, c2, c3+, c4, s, on, off, dep+); } s = pre; ) { dfs(res, c1, c2, c3, c4+, s, on, off, dep+); ; i < s.size(); i++) { == ) { '; '; } } dfs(res, c1, c2, c3, c4+, s, on, off, dep+); } s = pre; } int main() { fin >> N >> depsum; '); int n; vector<int> on, off; //cout << N << " " << depsum << endl; ) on.push_back(n-); ) off.push_back(n-); //for (int i = 0; i < on.size(); i++) cout << on[i] << endl; //for (int i = 0; i < off.size(); i++) cout << off[i] << endl; set<string> res; dfs(res, , , , , s, on, off, ); vector<string> ret; for (set<string>::iterator it = res.begin(); it != res.end(); it++) ret.push_back(*it); sort(ret.begin(), ret.end()); ) { fout << "IMPOSSIBLE" << endl; ; } ; i < ret.size(); i++) { fout << ret[i] << endl; } ; }
USACO Section 2.2: Party Lamps的更多相关文章
- USACO Section 1.3 题解 (洛谷OJ P1209 P1444 P3650 P2693)
usaco ch1.4 sort(d , d + c, [](int a, int b) -> bool { return a > b; }); 生成与过滤 generator&& ...
- 【USACO 2.2】Party Lamps
四种开关,n盏灯,1:改变所有灯状态,2:改变奇数灯状态,3:改变偶数灯状态,4:改变3k+1灯状态 给你按开关的总次数c和部分灯限制条件(开或关),一开始都是开着的.($c \leq 10000,n ...
- USACO Section 3.3: Riding the Fences
典型的找欧拉路径的题.先贴下USACO上找欧拉路径的法子: Pick a starting node and recurse on that node. At each step: If the no ...
- USACO Section 3.3 Camlot(BFS)
BFS.先算出棋盘上每个点到各个点knight需要的步数:然后枚举所有点,其中再枚举king是自己到的还是knight带它去的(假如是knight带它的,枚举king周围的2格(网上都这么说,似乎是个 ...
- [IOI1996] USACO Section 5.3 Network of Schools(强连通分量)
nocow上的题解很好. http://www.nocow.cn/index.php/USACO/schlnet 如何求强连通分量呢?对于此题,可以直接先用floyd,然后再判断. --------- ...
- USACO Section 5.3 Big Barn(dp)
USACO前面好像有类似的题目..dp(i,j)=min(dp(i+1,j),dp(i+1,j+1),dp(i,j+1))+1 (坐标(i,j)处无tree;有tree自然dp(i,j)=0) .d ...
- USACO Section 1.3 Prime Cryptarithm 解题报告
题目 题目描述 牛式的定义,我们首先需要看下面这个算式结构: * * * x * * ------- * * * <-- partial product 1 * * * <-- parti ...
- USACO Section 1.1 Your Ride Is Here 解题报告
题目 问题描述 将字符串转变为数字,字母A对应的值为1,依次对应,字母Z对应的值为26.现在有一个字符串,将其中的每个字符转变为数字之后进行累乘,最终的结果对47求余数. 题目给你两个字符串,其中的字 ...
- USACO Section 1.1-1 Your Ride Is Here
USACO 1.1-1 Your Ride Is Here 你的飞碟在这儿 众所周知,在每一个彗星后都有一只UFO.这些UFO时常来收集地球上的忠诚支持者.不幸的是,他们的飞碟每次出行都只能带上一组支 ...
随机推荐
- 了解Git
对于计算机软件初学者来说Git并没有太多了解, 以前没有接触过,但是老师说对其进行了解,也没有什么概念,只有通过上网进行了解 . 了解到的大概内容如下: ...
- UVALive - 6955 Finding Lines 随机算法
题目链接: http://acm.hust.edu.cn/vjudge/contest/126968#problem/F 题意 给你n个点,问是否有>=p/100*n个点共线(p>=20& ...
- C++ Tempatet之模板模型
模板一共有三种类型: 1.第一种包含模型:包含模型是讲模板的定义和声明都放在头文件里(注:一般我们写的代码是将声明放在头文件里,实现放在cpp里,防止产生两份实现代码) 缺点:包含模型会增加代码的量. ...
- [原]TCP/UDP使用细节备忘
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- ios 百度地图
百度地图 中的注意事项 1. 百度地图中 使用了c++ 设置buidSeting compoileSource 为 Object-C++ 强制使用oc++编译器 2. 设置 BuidSeti ...
- js java正则表达式替换手机号4-7位为星*号
需求: 一个手机号13152461111,由于安全性,需要替换4-7位字符串为星号,为131****1111,那么有2中玩法,一种是前端隐藏,一种是后台隐藏. 1. 前台隐藏 <!DOCTYPE ...
- AngularJs学习笔记--concepts(概念)
原版地址:http://code.angularjs.org/1.0.2/docs/guide/concepts 继续.. 一.总括 本文主要是angular组件(components)的概览,并说明 ...
- BZOJ1502: [NOI2005]月下柠檬树
Simpson法相当好用啊!神奇的骗分算法! /************************************************************** Problem: 1502 ...
- iOS-xib(自定义UITableViewCell)
1.创建一个自定义的xib
- 利用正则表达式解析URL
-(NSString *) jiexi:(NSString *)CS webaddress:(NSString *)webaddress { NSError *error; NSS ...