milk3-section1.4
来源:互联网 发布:程序员试用期转正申请 编辑:程序博客网 时间:2024/06/10 05:12
题目大意
农民约翰有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数, 最初,A和B桶都是空的,而C桶是装满牛奶的。有时,农民把牛奶从一个桶倒到 另一个桶中,直到被灌桶装满或原桶空了。当然每一次灌注都是完全的。由于节约, 牛奶不会有丢失 写一个程序去帮助农民找出当A桶是空的时候,C桶中牛奶所剩量的所有可能性。
输入格式
一行:三个整数A,B和C。
输出格式
一行:升序地列出当A桶是空的时候,C桶牛奶所剩量的所有可能性
样例输入
8 9 10
样例输出
1 2 8 9 10
题解
递归找出所有可能的牛奶分布情况,递归终点为该种情况已经被记录下来过了,递归的每一步即为牛奶的相互倾倒的动作,一共六种可能。然后将所有A中为空的升序输出C中牛奶量。
代码
#include<stdio.h>int dao(int i,int j,int x){if(i<x-j) return 0;else return i+j-x;}int shou(int i,int j,int x){if(i<x-j) return j+i;else return x;}int A,B,C,m=0;int n[8000][3]={0};int f(int a,int b,int c){int i,flag=0,at,bt,ct;for(i=0;i<m;i++){ if((n[i][0]==a)&&(n[i][1]==b)&&(n[i][2]==c)) { flag=1; break; }}if(flag==1){ return 0;}else{ n[m][0]=a; n[m][1]=b; n[m][2]=c; m++; at=a;bt=b;ct=c; at=dao(a,b,B); bt=shou(a,b,B); f(at,bt,ct); at=a;bt=b;ct=c; at=dao(a,c,C); ct=shou(a,c,C); f(at,bt,ct); at=a;bt=b;ct=c; bt=dao(b,a,A); at=shou(b,a,A); f(at,bt,ct); at=a;bt=b;ct=c; bt=dao(b,c,C); ct=shou(b,c,C); f(at,bt,ct); at=a;bt=b;ct=c; ct=dao(c,a,A); at=shou(c,a,A); f(at,bt,ct); at=a;bt=b;ct=c; ct=dao(c,b,B); bt=shou(c,b,B); f(at,bt,ct);}return 0;}int main(){int i,j,temp,h[8000];scanf("%d %d %d",&A,&B,&C);f(0,0,C);for(i=0;i<8000;i++) for(j=0;j<7999-i;j++) if(n[j][2]>n[j+1][2]) { temp=n[j][2]; n[j][2]=n[j+1][2]; n[j+1][2]=temp; temp=n[j][1]; n[j][1]=n[j+1][1]; n[j+1][1]=temp; temp=n[j][0]; n[j][0]=n[j+1][0]; n[j+1][0]=temp; } j=0;for(i=0;i<8000;i++){ if(n[i][0]==0&&(n[i][0]+n[i][1]+n[i][2])!=0) { h[j]=n[i][2]; j++; }}for(i=0;i<j-1;i++) printf("%d ",h[i]);printf("%d\n",h[i]);return 0;}
阅读全文
0 0
- milk3-section1.4
- USACO-Section1.4 milk3[深搜]
- ariprog-section1.4
- usaco milk3
- usaco milk3
- usaco milk3
- USACO Section1.4 Arithmetic Progressions
- USACO-Section1.4 Arithmetic Progressions
- USACO-Section1.4 Arithmetic Progressions[...]
- USACO-Section1.4 Arithmetic Progressions
- USACO-Section1.4 Arithmetic Progressions
- USACO-Section1.4 airprog[枚举]
- USACO Section1.4 n皇后问题
- usaco.section1.4 && 1.5(2015.11.12)
- USACO-Section1.4 Mother's Milk
- USACO-Section1.4 Arithmetic Progressions【暴力枚举】
- USACO-Section1.4 Arithmetic Progressions [枚举]
- USACO-Section1.4 Mother's Milk [搜索]
- MySQL的InnoDB引擎和MyISAM引擎对比
- 使用WebRTC搭建前端视频聊天室——入门篇
- C语言实现PING功能
- Codevs : 1033 蚯蚓的游戏问题 (费用流
- notifyDataSetChanged()无效原因
- milk3-section1.4
- Http协议基础之HTTP请求首部字段
- HTTP协议学习笔记01
- HDU-5981-Guess the number-规律
- 泡影产品需求设计文档
- bzoj3122 随机数生成器 BSGS+费马小定理求逆元
- HashMap与HashTable详解与区别
- 洛谷 P1829 半数集问题
- 使用scala实现wordcount的简单计数