传送门
题面描述:
给出三个桶的最大容量和当前水量,进行如下操作:桶1倒水给桶2,桶2倒水给桶3,桶3倒水给桶1,桶1倒水给桶2…循环100次。每次倒水把原来桶的水倒完或者把下一个桶倒满。
题目分析:
才100次直接模拟就行(毕竟只会暴力)。
代码:
#include<algorithm>
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<queue>
#include<vector>
using namespace std;
int i,a1,b1,a2,b2,a3,b3;
int main(){
cin>>a1>>b1>>a2>>b2>>a3>>b3;
for(i=1;i<=100;i++){
if(i%3==1){
if(b1<=a2-b2) b2+=b1,b1=0;
else b1-=a2-b2,b2=a2;
}
if(i%3==2){
if(b2<=a3-b3) b3+=b2,b2=0;
else b2-=a3-b3,b3=a3;
}
if(i%3==0){
if(b3<=a1-b1) b1+=b3,b3=0;
else b3-=a1-b1,b1=a1;
}
}
cout<<b1<<endl<<b2<<endl<<b3;
}