Submission #1214519

#TimeUsernameProblemLanguageResultExecution timeMemory
1214519santi3223Tetris (COCI17_tetris)C++20
80 / 80
0 ms408 KiB
#include <bits/stdc++.h> using namespace std; #define ll int #define vl vector<ll> #define vb vector<bool> #define pb push_back #define ff(aa, bb, cc) for(ll aa = bb; aa < cc; aa++) #define pll pair<ll, ll> #define fi first #define se second #define ed "\n" #define all(aaa) aaa.begin(), aaa.end() #define rall(aaa) aaa.rbegin(), aaa.rend() ll MOD = 1e9+7; ll n, m; bool check(ll i, ll j){ return i >= 0 && j >= 0 && i < n && j < m; } int main(){ cin >> n >> m; vector<string> arr(n); vl ans(5, 0); ff(i, 0, n){ cin >> arr[i]; } ff(i, 0, n){ ff(j, 0, m){ if(check(i+1, j+1) && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+1][j+1] && arr[i][j] != '.'){ ans[0]++; } if(check(i, j+3) && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i][j+2] && arr[i][j] == arr[i][j+3] && arr[i][j] != '.'){ ans[1]++; } if(check(i+3, j) && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+2][j] && arr[i][j] == arr[i+3][j] && arr[i][j] != '.'){ ans[1]++; } if(check(i-1, j+2) && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i-1][j+1] && arr[i][j] == arr[i-1][j+2] && arr[i][j] != '.'){ ans[2]++; } if(check(i+2, j+1) && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+1][j+1] && arr[i][j] == arr[i+2][j+1] && arr[i][j] != '.'){ ans[2]++; } if(check(i+1, j+2) && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i+1][j+1] && arr[i][j] == arr[i+1][j+2] && arr[i][j] != '.'){ ans[3]++; } if(check(i+2, j-1) && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+1][j-1] && arr[i][j] == arr[i+2][j-1] && arr[i][j] != '.'){ ans[3]++; } if(check(i-1, j+2) && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i][j+2] && arr[i][j] == arr[i-1][j+1] && arr[i][j] != '.'){ ans[4]++; } if(check(i+1, j+2) && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i][j+2] && arr[i][j] == arr[i+1][j+1] && arr[i][j] != '.'){ ans[4]++; } if(check(i+2, j+1) && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+2][j] && arr[i][j] == arr[i+1][j+1] && arr[i][j] != '.'){ ans[4]++; } if(check(i+2, j-1) && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+2][j] && arr[i][j] == arr[i+1][j-1] && arr[i][j] != '.'){ ans[4]++; } } } ff(i, 0, 5){ cout << ans[i] << ed; } }
#Verdict Execution timeMemoryGrader output
Fetching results...