国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

團戰可以輸、提莫必須死 SDUT3526

2019-11-08 02:22:03
字體:
來源:轉載
供稿:網友
SubmitStatistic

PRoblem Description

        為了一些你們不知道的原因,我們把LOL的地圖抽象為一個n×m的矩陣        提莫積攢了k個蘑菇準備種到地圖上去,因為提莫的背簍漏了,所以每一個提莫走過的地方都會被擺下一個蘑菇,兩個蘑菇同時種在一個地方的話就會爆炸,所以一旦即將出現這種情況,提莫會直接傳送回家,防止自己被炸死        之前的排位賽中因為亂種蘑菇提莫已經被罵了好多次了,所以這次提莫特地查資料對當前地圖的各個位置種下蘑菇的價值做了統計,但是因為提莫行動比較笨拙,所以他每次只能移動到上下左右四個方向的格子中(如果該方向有格子的話        每次行走提莫會從四個方向挑選一個權值最大的方向,如果有最大的權值有多個,他會從這多個相同的最大權值之中找出沒有走過并且按照上下左右的優先順序挑選一個合適的方向走。如果最大權值都被走過了,他會心灰意冷的傳送回家,此時直接輸出"BOOM"      (提莫會順手在他的起點順手種一個蘑菇下去

Input

多組輸入。輸入第一行包含地圖大小n,m,蘑菇數量k。(1 <= n,m <= 100,1 <= k <= n*m)接下來的n行每行有m個數(并且保證每個數的范圍[1,1e5)接下來兩個整數x,y代表提莫的起點

Output

如果走到最后沒有地方可以種蘑菇了,但蘑菇還沒全部種完,輸出"BOOM".如果蘑菇在半途中種完了,輸出提莫所處的坐標"Teemo: x y".

Example Input

3 3 31 2 34 5 67 8 92 23 3 51 2 34 5 67 8 92 2

Example Output

Teemo: 3 3BOOM

Hint

Author

#include<iostream>#include<cstdio>#include<cstring>using namespace std;struct node{    int x,y,ans;} q[2005];int n,m,k;int map[200][200];int vis[200][200];int a,b;int dir[4][2]= {{-1,0},{1,0},{0,-1},{0,1}};void BFS(int x,int y){    struct node t,f;    int e=0;    int s=0;    t.x=x;    t.y=y;    t.ans=1;    q[e++]=t;    vis[t.x][t.y]=1;    while(s<e)    {        t=q[s++];        if(t.ans==k)        {            printf("Teemo: %d %d/n",t.x,t.y);            return ;        }        int max=0;        int flag=0;        int i;        for(i=0; i<=3; i++)        {            if(map[t.x+dir[i][0]][t.y+dir[i][1]]>max)            {                max=map[t.x+dir[i][0]][t.y+dir[i][1]];            }        }        for(i=0; i<=3; i++)        {            f.x=t.x+dir[i][0];            f.y=t.y+dir[i][1];            if(f.x>0&&f.x<=n&&f.y>0&&f.y<=m&&vis[f.x][f.y]==0&&map[f.x][f.y]==max)            {                flag=1;                f.ans=t.ans+1;                q[e++]=f;                vis[f.x][f.y]=1;            }        }        if(flag==0)        {            printf("BOOM/n");            return ;        }    }    printf("BOOM/n");    return ;}int main(){    while(~scanf("%d%d%d",&n,&m,&k))    {        int i,j;        for(i=1; i<=n; i++)        {            for(j=1; j<=m; j++)            {                scanf("%d",&map[i][j]);            }        }        scanf("%d%d",&a,&b);        BFS(a,b);    }    return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台南县| 筠连县| 吉首市| 平江县| 汾阳市| 商河县| 邯郸县| 仙桃市| 卢龙县| 红河县| 乌苏市| 阿荣旗| 丰镇市| 武强县| 长治市| 伊吾县| 道孚县| 南城县| 怀来县| 大悟县| 大名县| 平邑县| 两当县| 三穗县| 霍林郭勒市| 油尖旺区| 益阳市| 开封市| 吉林市| 余姚市| 霍山县| 通化县| 海口市| 韩城市| 军事| 康保县| 新乡县| 平和县| 独山县| 莎车县| 莎车县|