百练4115:鸣人和佐助

题目连接:http://bailian.openjudge.cn/practice/4115/

这题就是紧接着拯救行动的变形。

直接贴代码吧,嘻嘻

不知道有没有喜欢我这种代码习惯或者风格的人

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

using namespace std;

const int maxn=210;

struct mmp
{
    int r,c;
    int step;
    int sum;
    bool operator<(const mmp &w) const
    {
        if(step==w.step)
        {
            return sum>w.sum;
        }
        return step>w.step;
    }
    mmp(int rr,int cc,int u,int ss):r(rr),c(cc),step(u),sum(ss) { }
};

priority_queueq1;  

char s[maxn][maxn];
int vis[maxn][maxn];
int v[4][2]= {{0,1},{0,-1},{1,0},{-1,0}};
int n,m,t;

int bfs(int a,int b)
{
    int i,x,y;
    q1.push(mmp(a,b,0,0));
    while(q1.empty()==0)
    {
        mmp m1=q1.top();
        q1.pop();
        for(i=0; i<4; ++i)
        {
            x=m1.r+v[i][0];
            y=m1.c+v[i][1];
            if(x>=0&&x=0&&y

 

你可能感兴趣的:(bfs)