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. Java设计模式-设计模式的六种原则

    所谓无招胜有招,练一门功夫分为内功和外功. 外功好比招式,就是所谓的23种设计模式.而内功呢,就是心法,那就是这6种法则.光会外功那是花拳绣腿,内功修为才是境地. 如此众多的设计模式,学完2遍.3遍可 ...

  2. E. Dreamoon and Strings(Codeforces Round #272)

    E. Dreamoon and Strings time limit per test 1 second memory limit per test 256 megabytes input stand ...

  3. 【Mongodb教程 第二课 】 MongoDB 创建数据库 use 命令

    use 命令 MongoDB use DATABASE_NAME 用于创建数据库.该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库. 语法: use DATABASE 语句的基本语法如 ...

  4. ZOJ 3228 Searching the String (AC自己主动机)

    题目链接:Searching the String 解析:给一个长串.给n个不同种类的短串.问分别在能重叠下或者不能重叠下短串在长串中出现的次数. 能重叠的已经是最简单的AC自己主动机模板题了. 不能 ...

  5. 开发:异常收集之 DB2建表相关问题

    第一次用DB2数据库,因为考虑到建表语句可能不一样,所以採用手动建表的办法.一个个字段去填.并勾选主键.最后发现创建失败.看了下系统生成的sql语句 sql语句例如以下: CREATE TABLE F ...

  6. 使用python生成c文件模板

    目标 完成一个python脚本,实现指定名字后,自动生成.c和.h的模板.例如: /** * @file epc.c * @author 陈维 * @version V01 * @date 2017. ...

  7. UVa 10773 - Back to Intermediate Math

    题目:渡河问题.给你河水宽度,水流速度,求垂直渡河与最快渡河的时间差. 分析:物理题,数学题. 最快渡河情况,传垂直运动,垂直渡河,船的水平分速度和水流速度抵消. 说明:注意水流速度不能为0. #in ...

  8. Hibernate 之 How

    分享自: http://blog.csdn.net/jnqqls/article/details/8242520 在上一篇文章Hibernate 之 Why? 中对Hibernate有了一个初步的了解 ...

  9. 七.OC基础加强--1.内存管理 2.野指针,内存泄露 3.set方法的内存管理 4.@property参数 5.@class和循环retain的使用 6.NSString的内存管理

    1,内存管理简单介绍 1,为什么要有内存管理? malloc selloc dealloc```需要回头复习 一般的内存 4s 是512m内存:6 是1024m内存: 当内存过大时,会耗尽内存.出现程 ...

  10. 并不对劲的bzoj3277

    陈年老坑 题意大概是有n个字符串,要求出每一个字符串的所有子串(不包括空串)在所有字符串(包括自身)中出现次数不少于k的有多少个.n,k,字符串总长<=100000. 如果只有一个串的话,非常好 ...