地图上有n个格子排成一排,最左边的格子为1,最右边的格子为n。第0秒时,每个格子都有一只史菜姆。
第i只史莱姆的跳跃方向用数组a表示。ai=0表示史莱姆跳跃的方向是往左。若第i秒史莱姆位于格子x,那么第i+1秒史莱姆会跳到格子x−1。如果当前史莱姆在格子1,则下一秒史莱姆将跳出地图。 ai=1表示史莱姆跳跃的方向是往右。若第i秒史莱姆位于格子x,那么第i+1秒史莱姆会跳到格子x+1。如果当前史莱姆在格子n,则下一秒史莱姆将跳出地图。
按照题意暴力模拟即可,维护每一个史莱姆在第i秒的位置,然后使用一个set
去记录当前所有史莱姆在的位置,则第i秒对应的空余位置数则为n−st.size()
#include<bits/stdc++.h>
using namespace std;
const int N=1E5+10;
int n,a[N],w[N],vis[N];
int main(){