Round 2 B

来源:互联网 发布:优酷for mac 编辑:程序博客网 时间:2024/06/07 06:42

题目链接:
http://codeforces.com/problemset/problem/225/B

大意:
地图上分布有小猪和狼,狼只能吃相邻的小猪且只能吃一个,求最多有多少小猪被吃。

思路:
遍历一遍就行,题目是很水的。。。但是自己图论太差,题目做太少看见图论专题都被吓死。

#include<bits/stdc++.h>#define mem(s,t) memset(s,t,sizeof(s))typedef long long ll;using namespace std;//#define LOCALint n,m;const int MAXN =15;char g[MAXN][MAXN];int vis[MAXN][MAXN];int cnt=0,row,col;int main(){#ifdef LOCAL    freopen("in.txt","r",stdin);    freopen("out.txt","w",stdout);#endif    cin>>row>>col;    for(int i=0;i<row;i++){        for(int j=0;j<col;j++){            cin>>g[i][j];            vis[i][j]=1;        }    }    for(int i=0;i<row;i++){        for(int j=0;j<col;j++){            if(vis[i][j] && g[i][j]=='W'){                if(i<row-1 && g[i+1][j]=='P') cnt++,vis[i+1][j]=0;                else if(i>=1 && g[i-1][j]=='P') cnt++,vis[i-1][j]=0;                else if(j<col-1 && g[i][j+1]=='P') cnt++,vis[i][j+1]=0;                else if(j>=1 && g[i][j-1]=='P') cnt++,vis[i][j-1]=0;            }        }    }    cout<<cnt<<endl;    return 0;}
原创粉丝点击