fork download
  1. /*Made by Shivam Solanki*/
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. #define DEBUG(x) cout << '>' << #x << ':' << x << endl;
  5. #define ll long long int
  6. typedef vector<int> vi;
  7. typedef vector<ll> vll;
  8. typedef vector<vll> vvl;
  9. typedef pair<int,int> pii;
  10. typedef pair<ll,ll> pll;
  11. typedef vector<vi> vvi;
  12. typedef vector<bool> vb;
  13. typedef vector<vb> vvb;
  14. typedef vector<pii> vp;
  15. typedef vector<pll> vpll;
  16. typedef map<int,int> mii;
  17. typedef map<ll,ll> mll;
  18. typedef set<int> sii;
  19. typedef set<ll> sll;
  20. typedef priority_queue<int> pq;
  21. typedef unordered_map<int,int> umii;
  22. typedef unordered_map<ll,ll> umll;
  23. typedef queue<int> qii;
  24. #define rep(i,k,n) for (int i = k; i < n; ++i)
  25. #define repr(i,k,n) for (int i = n; i>=k; --i)
  26. #define repll(i,k,n) for (ll i = k; i < n; ++i)
  27. #define repllr(i,k,n) for (ll i = n; i >= k; --i)
  28. #define pb push_back
  29. #define mp make_pair
  30. #define gcd __gcd
  31. #define F first
  32. #define S second
  33. #define all(x) x.begin(),x.end()
  34. #define fastio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
  35. const int INF = 1e9+5;
  36. const int MOD = 1e9+7;
  37.  
  38. void solve(){
  39. int n,m;
  40. cin>>n>>m;
  41. vector<vector<char>> adj(n,vector<char>(m));
  42. rep(i,0,n){
  43. rep(j,0,m){
  44. cin>>adj[i][j];
  45. }
  46. }
  47. auto is_valid=[&](int i,int j){
  48. if(i>=0 and i<n and j>=0 and j<m) return 1;
  49. return 0;
  50. };
  51. int ans=0;
  52. rep(i,0,n){
  53. rep(j,0,m){
  54. if(adj[i][j]=='x'){
  55. int multiplier=4;
  56. if(is_valid(i+1,j) and adj[i+1][j]=='x') multiplier--;
  57. if(is_valid(i,j+1) and adj[i][j+1]=='x') multiplier--;
  58. if(is_valid(i-1,j) and adj[i-1][j]=='x') multiplier--;
  59. if(is_valid(i,j-1) and adj[i][j-1]=='x') multiplier--;
  60. ans+=multiplier;
  61. }
  62. }
  63. }
  64. cout<<ans<<'\n';
  65. }
  66.  
  67. int main(){
  68. // #ifndef ONLINE_JUDGE
  69. // freopen("input.txt", "r", stdin);
  70. // freopen("output.txt", "w", stdout);
  71. // #endif
  72. // fastio;
  73. int t=1;
  74. // cin>>t;
  75. while(t--)
  76. solve();
  77. return 0;
  78. }
Success #stdin #stdout 0s 4492KB
stdin
5
5
y x x y y
y x y y y
y x x x y
y y x y y
y x x x x
stdout
24