zoukankan      html  css  js  c++  java
  • CF6B President's Office 题解

    看到大致思路一致的题解,决定发一篇运用STL不用dfs的题解     好久不发题解,心里不爽

    思路:

    1.输入的同时找到总统桌子的位置,用vector<pair <int,int> >记录横坐标和纵坐标
    2.在总统桌子周围找到其他桌子,并用set记录(set可以去重)
    3.打印set的长度,即周围桌子的数量



    Code:

    #include <bits/stdc++.h>
    using namespace std;
    const int N=110;
    char c[N][N];
    int n,m;
    char pt;
    set<char> s;
    vector< pair<int,int> > v;
    int dx[4]={0,0,-1,1},dy[4]={1,-1,0,0};
    int main() {
        cin>>n>>m;
        cin>>pt;
        for(int i=1;i<=n;i++) {
            for(int j=1;j<=m;j++) {
                cin>>c[i][j];
                if(c[i][j]==pt) v.push_back(make_pair(i,j));
            }
        }
        for(int i=0;i<v.size();i++) {
            int x,y;
            x=v[i].first;
            y=v[i].second;
            for(int j=0;j<4;j++) {
                int nx=x+dx[j],ny=y+dy[j];
                if(c[nx][ny]>='A' && c[nx][ny]<='Z' && c[nx][ny]!=pt) s.insert(c[nx][ny]);
            }
        }
        cout<<s.size()<<endl;
        return 0;
    }
  • 相关阅读:
    div+css简写原则
    并发控制
    div+css之块级元素与内联元素
    window.event对象属性(转)
    SQL SERVER 架构管理
    关系的规范化
    js常用事件
    物联小白CoAP协议
    图片不停的横滚
    DropDownlist编程问题
  • 原文地址:https://www.cnblogs.com/Ryan-juruo/p/12231173.html
Copyright © 2011-2022 走看看