zoukankan      html  css  js  c++  java
  • Zepto Code Rush 2014 B

    注意题目给的是一个nxm的park,设元素为aij,元素aij 有4种可能U(上移),D(下移),L(左移),R(右移)

    假设第i行第j列元素aij(注意元素的索引是从0开始的)

    当aij为D时,此时spiders一直往下移动不可能与Om Nom相遇

    当aij为U时,此时spiders向上移动时此时Norm与spider初始位置之间距离是i+1,注意索引是从0开始的

          如果i为偶数,i+1为奇数则两者必能在i/2位置相遇

          如果i为奇数,当Norm在i/2,sprider在i/2+1,移动时,Norm在jump不可能相遇

    当aij为R时,当Norm移动到第i行时此时aij右移已经到达ai(j+i)的位置,如果Norm从第i+j列向下移动则相遇

    当aij为L时,当Norm移动到第i行时此时aij左移已经到达ai(j-i)的位置,如果Norm从第j-i列向下移动则相遇

    注意边界处理

    #include <iostream>
    #include <vector>
    #include <string>
    #include <algorithm>
    
    using namespace std;
    
    int main(){
        int n,m,k;
        cin >> n >> m >> k;
        vector<string> park(n);
        for(int i = 0 ; i < n ; ++ i) cin >> park[i];
        vector<int> res(m,0);
        for(int i = 0 ; i < n; ++ i){
            for(int j = 0 ; j < m; ++ j){
                switch(park[i][j]){
                    case '.':
                    case 'D':
                        break;
                    case 'U':
                        if(i%2 == 0) res[j]++;break;
                    case 'R':
                        if(i+j < m) res[i+j]++;break;
                    case 'L':
                        if(j-i>=0) res[j-i]++;break;
                }
            }
        }
        for(int i = 0 ; i <m ; ++ i ){
            if(i) cout<<" ";
            cout<<res[i];
        }
        cout<<endl;
    
    }

    题目地址:http://codeforces.com/contest/436/problem/B

  • 相关阅读:
    从远程库克隆
    添加远程库
    远程仓库
    删除文件
    xml 解析的四种方式
    遍历Map
    Spring 和SpringMVC 的父子容器关系
    JDK各版本新特性!
    看啦这么就别人的博客 我也来写一篇! Object转换其他类型
    手机访问电脑搭建的服务器地址
  • 原文地址:https://www.cnblogs.com/xiongqiangcs/p/3788676.html
Copyright © 2011-2022 走看看