P10132 题解
分析
如果某些蹦床弹力系数为
AC Code
#include <bits/stdc++.h>
using namespace std;
map<pair<pair<int,int>,int>,int> mp;
struct loc
{
int q,v,br;
}a[100010];
int main()
{
int n,s,p=1,pos=1;
cin>>n>>s;
for(int i=1;i<=n;i++)
{
cin>>a[i].q>>a[i].v;
a[i].br=0;
}
int ans=0;
mp.clear();
while(1<=s&&s<=n)
{
if(mp[{{s,p},pos}])
{
cout<<ans;
return 0;
}
mp[{{s,p},pos}]=1;
if(a[s].q)
{
if(p>=a[s].v&&!a[s].br)
{
a[s].br=1;
ans++;
}
}
else p+=a[s].v,pos^=1;
s+=(pos?p:-p);
}
cout<<ans;
return 0;
}