⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 浙大1005(ac).cpp

📁 浙大ACM部分题目的代码。已经提交并AC通过
💻 CPP
字号:
#include <stdio.h>
int ca,cb,na,nb,n,temp;
void fill(char x)
{
	if(x=='a')
	{
		na=ca;
		printf("fill A\n");
	}
	else
	{
		nb=cb;
		printf("fill B\n");
	}
	return;
};

void empty(char x)
{
	if(x=='a')
	{
		na=0;
		printf("empty A\n");
	}
	else
	{
		nb=0;
		printf("empty B\n");
	}
	return;
};

void pour(char x,char y)
{
	if(x=='a')
	{
		temp=cb-nb;
		if(temp<na)
		{
			na=na-temp;
			nb=cb;
		}
		else
		{
			nb+=na;
			na=0;
		}
		printf("pour A B\n");
	}
	else
	{
		temp=ca-na;
		if(temp<nb)
		{
			nb=nb-temp;
			na=ca;
		}
		else
		{
			na+=nb;
			nb=0;
		}
		printf("pour B A\n");
	}
};

int main()
{
	while(scanf("%d %d %d",&ca,&cb,&n)!=EOF)
	{
		na=nb=temp=0;
		while(nb!=n)
		{
			if(ca<n||cb-ca==n)
			{
				if(na==ca)
					empty('a');
				if(nb==0)
					fill('b');
				pour('b','a');
			}
			else
			{
				if(nb==cb)
					empty('b');
				if(na==0)
					fill('a');
				pour('a','b');
			}
		}
		printf("success\n");
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -