1437

记忆化 模拟倒水过程

 #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的更多相关文章

随机推荐

  1. JSP中的编译指令和动作指令的差别

    JSP中的编译指令和动作指令的差别 1.编译指令是通知Servlet引擎的处理消息.而动作指令仅仅是执行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本 ...

  2. 积跬步,聚小流------ps有用小技巧,改变png图标颜色

    *  实现效果: 原图:  改动后: *  实现目的: 满足为实现不同界面色彩搭配改动png图标的颜色 *  实现方法: 1.打开Photoshop工具,导入须要进行改动的png图标: 2.对导入的图 ...

  3. Linux - Ubuntu中文输入法安装(Ubuntu 12.04)

    Ubuntu中文输入法安装(Ubuntu 12.04) 本文地址:http://blog.csdn.net/caroline_wendy Ubuntu作为Linux常见的操作系统,是须要熟练使用的. ...

  4. 我的第一个开源控件-DragGridView

    我的第一个开源控件出炉了,希望各个小伙伴给个star,支持下.项目地址 1. 前言 因为项目须要,要做一个相似腾讯视频.频道管理.拖拽排序的效果.这个控件是在原地址 之上改造出来的.先看下效果图. 1 ...

  5. IPython与Jupyter notebook 安装与配置,插件扩展,主题,PDF输出

    基于 python2.7.13 32-bit版本安装 1.安装pyreadline https://pypi.python.org/pypi/pyreadline 下载对应的32位版本 安装Micro ...

  6. Spark调研笔记第3篇 - Spark集群相应用的调度策略简单介绍

    Spark集群的调度分应用间调度和应用内调度两种情况,下文分别进行说明. 1. 应用间调度 1) 调度策略1: 资源静态分区 资源静态分区是指整个集群的资源被预先划分为多个partitions,资源分 ...

  7. Spring MVC @ResponseBody响应中文乱码

    问题:在前端通过get请求服务端返回String类型的服务时,会出现中文乱码问题 原因:由于spring默认对String类型的返回的编码采用的是 StringHttpMessageConverter ...

  8. svn 添加用户名密码

    1. 找到svn安装路径  我的是 /opt/svn/repositories/ (如果不知道,可以搜索 :find / -name authz) 2.进入该目录的conf,其中包含authz.pas ...

  9. mysql sakila 执行失败

    1.下载 https://dev.mysql.com/doc/index-other.html 2.解压 3.将解压的文件放入某个位置,必须tmp下面 4.登录mysql 进行source处理 mys ...

  10. python的thread和threading区别

    python提供了多种模块用来支持多线程编程, thread(在python3中改名为_thread),threading,和 queue模块. 通过加入queue模块,用户可以创建多个线程共享数据的 ...