zoukankan      html  css  js  c++  java
  • 洛谷 P1913 L国的战斗之伞兵

    题目背景

    L国即将与I国发动战争!!

    题目描述

    为了在敌国渗透作战,指挥官决定:派出伞兵前往敌国!然而敌国的风十分强烈,能让伞兵在同一高度不停转悠,直到被刮到一个无风区……(可怜的小兵)

    输入输出格式

    输入格式:

     

    第一行:n、m两个正整数,表示敌国的大小。

    以下n行,每行m个字符,“u”表示风向北吹;“d”表示风向南吹;“l”表示风向西吹;“r”表示风向东吹;“o”表示无风。(上北下南,左西右东)

     

    输出格式:

     

    一个数:表示有几个点可以放下伞兵。

     

    输入输出样例

    输入样例#1: 复制
    5 5
    rrrrr
    rdddr
    rroll
    uuuuu
    uuuuu
    
    输出样例#1: 复制
    19

    说明

    数据范围:

    1≤n≤1000,1≤m≤1000.

    思路:模拟,一共1000000个点,先提前与处理出某个点能否到无风区,然后o(1)判断即可。

    #include<iostream>
    using namespace std;
    int n,m,num;
    char a[1002][1002];
    bool b[1002][1002];
    void gui(int i,int j){
        b[i][j]=true;
        if(a[i+1][j]=='u')    gui(i+1,j);
        if(a[i-1][j]=='d')    gui(i-1,j);
        if(a[i][j+1]=='l')    gui(i,j+1);
        if(a[i][j-1]=='r')    gui(i,j-1);
    }
    int main(){
        cin>>n>>m;
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                cin>>a[i][j];
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                  if(a[i][j]=='o')    gui(i,j);
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                if(b[i][j]) num++;
        cout<<num; 
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    jsp mysql 配置线程池
    服务端 模拟 检测 攻击。。乱写
    硕思闪客精灵 7.2 破解版
    unity UnityAwe 插件
    smartfoxserver 2x 解决 Math NAN
    unity 断点下载
    java 监听文件目录修改
    wind7 64 setup appjs
    sfs2x 修改jvm 内存
    unity ngui 解决图层问题
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7932214.html
Copyright © 2011-2022 走看看