1005.txt
来自「浙大acm题答案,希望可以对学习acm的朋友有所帮助」· 文本 代码 · 共 107 行
TXT
107 行
#include<stdio.h>
int main()
{
int ca,cb,n,x,y;
while(scanf("%d %d %d",&ca,&cb,&n)!=-1)
{
x=y=0;
while(1)
{
printf("fill A\n");
x=ca;
if(x==n) {printf("success\n");break;}
while(x>0)
{
if((cb-y)>=x)
{
printf("pour A B\n");y=y+x;x=0;
}
else
{printf("pour A B\n");x=x-(cb-y);y=cb;}
if(x==n) {printf("success\n");break;}
if(y==n) break;
if(y==cb)
{printf("empty B\n");y=0;}
}
if(x==n) break;
if(y==n) {printf("success\n");break;}
}
}
return 0;
}
#include <stdio.h>
int main()
{
int ca,cb,n;
while(scanf("%d %d %d",&ca,&cb,&n)!=EOF)
{
int nowA,nowB,leftCap;
nowA=0,nowB=0,leftCap=0;
while(nowB!=n)
{
if(n>ca || n==cb-ca)
{
if(nowA==ca)
{
printf("empty A\n");
nowA=0;
}
else if(nowB==0)
{
printf("fill B\n");
nowB=cb;
}
else
{
printf("pour B A\n");
leftCap=ca-nowA;
if(leftCap>=nowB)
{
nowA+=nowB;nowB=0;
}
else
{
nowA=ca;nowB-=leftCap;
}
}
}
else if(n<=ca)
{
if(nowB==cb)
{
printf("empty B\n");
nowB=0;
}
else if(nowA==0)
{
printf("fill A\n");
nowA=ca;
}
else
{
printf("pour A B\n");
leftCap=cb-nowB;
if(leftCap>=nowA)
{
nowB+=nowA;nowA=0;
}
else
{
nowB=cb;nowA-=leftCap;
}
}
}
}
printf("success\n");
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?