題目大意:
給你兩個杯子還有一瓶可樂,問你可不可以通過杯子以及可樂之間互相倒來倒去 使最後兩個人喝到相同的可樂,注意杯子沒有刻度
思路:這道題很像曾經做過的小學題目,我們不妨把所有情況都列舉出來
a->b a->c
b->a b->c
c->a c->b
總共就是六種情況,然後針對不同的情況不同的討論。具體的細節實現還是看**吧
1 #include 2 #include3 #include 4 #include 5 #include
6 #include 7 #include 8
9using
namespace
std;
1011
int vist[105][105][105
],a,b,c;
12struct
node
13s[105
];17
int sum=0;18
void
bfs()
1938
node p2;
39if(p1.a!=0)40
48else
4955
if(!vist[p2.a][p2.b][p2.c])
5660}61
62if(p1.a!=0)63
71else
7278
if(!vist[p2.a][p2.b][p2.c])
7983}84
85if(p1.b!=0)86
94else
95101
if(!vist[p2.a][p2.b][p2.c])
102106
}107
108if(p1.b!=0
)109
117else
118124
if(!vist[p2.a][p2.b][p2.c])
125129
}130
131if(p1.c!=0
)132
140else
141147
if(!vist[p2.a][p2.b][p2.c])
148152
}153
154if(p1.c!=0
)155
163else
164170
if(!vist[p2.a][p2.b][p2.c])
171175
}176
}177 printf("
no\n");
178}
179int
main()
180188
bfs();
189}
190return0;
191 }
非常可樂 bfs
大家一定覺的運動以後喝可樂是一件很愜意的事情,但是seeyou卻不這麼認為。因為每次當seeyou買了可樂以後,阿牛就要求和seeyou一起分享這一瓶可樂,而且一定要喝的和seeyou一樣多。但seeyou的手中只有兩個杯子,它們的容量分別是n 毫公升和m 毫公升 可樂的體積為s s 101 毫公升...
非常可樂 BFS
大家一定覺的運動以後喝可樂是一件很愜意的事情,但是seeyou卻不這麼認為。因為每次當seeyou買了可樂以後,阿牛就要求和seeyou一起分享這一瓶可樂,而且一定要喝的和seeyou一樣多。但seeyou的手中只有兩個杯子,它們的容量分別是n 毫公升和m 毫公升 可樂的體積為s s 101 毫公升...
非常可樂(bfs
problem 非常可樂 description 大家一定覺的運動以後喝可樂是一件很愜意的事情,但是seeyou卻不這麼認為。因為每次當seeyou買了可樂以後,阿牛就要求和seeyou一起分享這一瓶可樂,而且一定要喝的和seeyou一樣多。但seeyou的手中只有兩個杯子,它們的容量分別是n 毫公...