题意:经典的游戏(忘了叫什么了。。。),大概是像是某个杯子放了一个球,然后各种换,最后猜在那个里面,只是这道题的话在某些杯子下有一些洞,有球的杯子到了这里球会掉下去不出来。
大概就是按着操作来就可以ac了,要注意如果第一个杯子下有洞刚开始就会掉下去。
#include<bits/stdc++.h>
using namespace std;
int n,m,k,x,hole[1000005],u,v,cu=1;
int main()
{
cin>>n>>m>>k;
for(int i=0;i<m;i++)
{
scanf("%d",&x);
hole[x]=1;
}
if(hole[1])
{
cout<<1;
return 0;
}
for(int i=0;i<k;i++)
{
scanf("%d%d",&u,&v);
if(u==cu)
{
cu=v;
if(hole[v])
{
cout<<v;
return 0;
}
}
else if(cu==v)
{
cu=u;
if(hole[u])
{
cout<<u;
return 0;
}
}
}
cout<<cu;
return 0;
}
本文介绍了一款经典游戏的ACM算法实现,该游戏涉及多个杯子和球的转移过程,其中部分杯子底部存在漏洞。文章通过具体示例详细解释了如何通过一系列交换操作判断球最终所在的杯子,并特别注意初始杯子若存在漏洞则球会立即掉落这一特殊情况。

被折叠的 条评论
为什么被折叠?



