POJ3185 The Water Bowls 题目大意: 奶牛有20只碗摆成一排,用鼻子顶某只碗的话,包括左右两只在内的一共三只碗会反向,现在给出碗的初始状态,问至少要用鼻子顶多少次才能使所有碗都朝上 一开始试了一下dfs,由于对dfs还是不太熟悉,先是用了一个数组b[i]来储存翻转后的状态,后来发现这个搜索的状态虽然类似背包,要么翻转,要么不翻转,但是翻转某个碗以后会对其他的也造成影响,所以这样这样做就错了,可以只用原来的数组就ok了 在上述问题解决后,又因为胡乱剪枝导致wa了几次,一开始我…
http://acm.hdu.edu.cn/showproblem.php?pid=4403 题意: 给出一串数字,在里面添加一个等号和多个+号,使得等式成立,问有多少种不同的式子. 思路: 数据量比较小,直接dfs爆搜答案即可. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<map> using namespace std;…
Description The cows have a line of 20 water bowls from which they drink. The bowls can be either right-side-up (properly oriented to serve refreshing cool water) or upside-down (a position which holds no water). They want all 20 water bowls to be ri…
题意:反正就是要给的一串01的变成全0 能影响自己和左右 最少需要几步 01方程组 异或解 ][]; // 增广矩阵 ]; // 解 ]; // 标记是否为自由未知量 int n; void debug() { ;i<n*n;i++) { ;j<n*n;j++) printf("%d ", a[i][j]); printf("\n"); } } int Gauss(int n, int m) // n个方程 m个未知数 即 n行m+1列 { //转换为阶…
1060: [ZJOI2007]时态同步 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2101  Solved: 595[Submit][Status][Discuss] Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数 字1,2,3….进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅 存在一条通路(通路指连接两个元件的导线序列).…
Problem Description You are given N sets.The i−th set has Ai numbers.You should divide the sets into L parts.And each part should have at least one number in common.If there is at least one solution,print YES,otherwise print NO.   Input In the first…
这里有n列火车将要进站再出站,但是,每列火车只有1节,那就是车头. 这n列火车按1到n的顺序从东方左转进站,这个车站是南北方向的,它虽然无限长,只可惜是一个死胡同,而且站台只有一条股道,火车只能倒着从西方出去,而且每列火车必须进站,先进后出. 也就是说这个火车站其实就相当于一个栈,每次可以让右侧头火车进栈,或者让栈顶火车出站. 车站示意如图: 出站<—— <——进站 |车| |站| |__| 现在请你按<字典序>输出前20种可能的出栈方案. 输入格式 输入一个整数n,代表火车数量.…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4770 思路:由于最多只有15个".",可以直接枚举放置的位置,然后判断是否能够全部点亮即可.需要注意的是,有一个特殊的light,也需要枚举它的位置以及放置的方向. #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using names…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5546 题意就是两个人下围棋,问在下一颗x是否能杀死o,'.'是空位子: 枚举所有的点,判断是否合法即可: #include <iostream> #include <stdio.h> #include <string.h> #include <string> #include <vector> #include <algorithm> #…
[题目描述] xyz1048576正在玩一个关于矩阵的游戏. 一个n*m的矩阵,矩阵中每个数都是[1,12]内的整数.你可以执行下列两个操作任意多次: (1)指定一行,将该行所有数字+1. (2)指定一列,将该列所有数字+1. (3)如果执行完上述操作之后,矩阵中某个数变成了3,6,9,12其中的某一个,我们认为这个数是稳的. 给定初始矩阵,求出任意执行操作之后稳数的最多个数. [输入格式] 第一行包含两个正整数n,m. 接下来n行,每行m个数,描述这个矩阵. [输出格式] 一个整数,表示答案.…