P2895 [USACO08FEB]Meteor Shower S 题意:就是需要移动多步才不会被流星砸到,也就是移动到安全的地方。(可用数组将不同时刻流星砸到的地方标记为便可解决) 也不是很难,要注意的细节很多。 1.可能会出现一种情况。300*300的格子中全都被流行砸到。那我们需要移动到之外的格子中,所以数组要开大一点。 2.如果3时刻和5时刻都被流星覆盖,则我们需要将单元格标记为小的时刻。 3.好多细节。明明不是很难,让我做了好久……
#include
using namespace std;
int n;
int stn[305][305]; //标记石头几时刻砸向农场
int vis[305][305]; //记录改点是否走过
int step[305][305]; //记录步数
int dx[5]={0,0,0,1,-1};
int dy[5]={0,1,-1,0,0};
int check(int x)
{
if(x==-1) return 100000;
return x;
}
int main()
{
freopen("in.txt","r",stdin);
memset(stn,-1,sizeof(stn));
cin>>n;
int x,y,t;
for(int i=1;i>x>>y>>t;
for(int j=0;j=0&&y+dy[j]>=0&&(stn[x+dx[j]][y+dy[j]]==-1||stn[x+dx[j]][y+dy[j]]>t))
stn[x+dx[j]][y+dy[j]]=t;
}
}
queueq[2];
vis[0][0]=1;
q[0].push(0);
q[1].push(0);
while(!q[0].empty())
{
int x1=q[0].front();
int y1=q[1].front();
q[0].pop();
q[1].pop();
if(stn[x1][y1]==-1)
{
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?