ural1437
记忆化 模拟倒水过程
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
#include<cmath>
#include<queue>
#include<set>
using namespace std;
#define N 256
#define LL long long
#define INF 0xfffffff
const double eps = 1e-;
const double pi = acos(-1.0);
const double inf = ~0u>>;
bool dp[N][N][N];
bool o[];
int n,m,k;
void dfs(int i,int j,int g)
{
if(dp[i][j][g]) return ;
dp[i][j][g] = ;
o[i] = ,o[j] = ,o[g] = ;
o[i+j] = ,o[j+g] = ,o[i+g] = ;
o[i+j+g] = ;
dfs(n,j,g);dfs(i,m,g);dfs(i,j,k);
int ii = n-i,jj = m-j,gg = k-g;
if(j<=ii) dfs(i+j,,g);
else dfs(n,j-ii,g);
if(g<=ii) dfs(i+g,j,);
else dfs(n,j,g-ii);
if(i<=jj) dfs(,i+j,g);
else dfs(i-jj,m,g);
if(g<=jj) dfs(i,j+g,);
else dfs(i,m,g-jj);
if(i<=gg) dfs(,j,i+g);
else dfs(i-gg,j,k);
if(j<=gg) dfs(i,,j+g);
else dfs(i,j-gg,k);
}
int main()
{
int i,j,g;
while(cin>>n>>m>>k)
{//cout<<",";
memset(dp,,sizeof(dp));
memset(o,,sizeof(o));
dfs(,,); int ans = ;
for(i = ; i <= n+m+k ; i++)
if(o[i]) ans++;
cout<<ans<<endl;
}
return ;
}
ural1437的更多相关文章
随机推荐
- boost的内存管理
smart_ptr raii ( Resource Acquisition Is Initialization ) 智能指针系列的都统称为smart_ptr.包含c++98标准的auto_ptr 智能 ...
- c语言实现输出一个数的每一位
比方输入1234.在屏幕上打印出1 2 3 4 代码展示: 方法一: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #includ ...
- 3.NetDh框架之缓存操作类和二次开发模式简单设计(附源码和示例代码)
前言 NetDh框架适用于C/S.B/S的服务端框架,可用于项目开发和学习.目前包含以下四个模块 1.数据库操作层封装Dapper,支持多种数据库类型.多库实例,简单强大: 此部分具体说明可参考博客: ...
- Django值中间件
1,还是那句话:写代码的逻辑遵循:简洁,重复性高,可维护性高 1.1>中间件:中间件是一种用来处理Django的请求和响应的框架级别的钩子.它是一个轻量,低级别的插件系统,用于在全局范围内改变D ...
- Linux上ln命令详细说明及软链接和硬链接的区别
硬链接(hard link) UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,我们称这种机制为链接.它可以使得单个程序对同一文件使用不同的名字.这样的好处是文件系 统只存在一个文件的副本, ...
- Ant 打包 问题
Ant 打包问题及解决归纳总结: 1.build.xml注意设置basedir: <project name="s2si" default="dist" ...
- Revit插件开发HelloWorld
1. 使用 VS2012 先建立一个项目. 2. 在这里我们选择建立C# 类库项目, 改动项目名称为HelloWorld. 能够自己定义改动项目存放路径. 3. 加入 Revit 插件 API 的引用 ...
- (22) java web的struts2框架的使用-struts配置文件
1,配置文件的引用 struts中配置文件可以有多个,每个模块的包里面都可以单独设立一个struts配置文件. 主的配置文件,放在“src”文件夹下,可以引入其他配置文件,引入方式: <!-- ...
- linux系统编程之进程(七):system()函数使用【转】
本文转载自:http://www.cnblogs.com/mickole/p/3187974.html 一,system()理解 功能:system()函数调用“/bin/sh -c command” ...
- 洛谷 P1311 选择客栈 —— 水题
题目:https://www.luogu.org/problemnew/show/P1311 看每个位置能否成为咖啡店,然后作为客栈和前面配对即可. 代码如下: #include<iostrea ...