func_code_string: #include <bits/stdc++.h>   using namespace std;   const double pi = acos(-1.0);   bool getcell(vector<vector<bool>>& b, int i, int j) {     if (i >= b.size() || j >= b[0].size() || i < 0 || j < 0) return false;     return b[i][j];   }   bool isPlus(vector<vector<bool>>& b, int i, int j) {     return getcell(b, i + 1, j) && getcell(b, i - 1, j) && getcell(b, i, j + 1) &&            getcell(b, i, j - 1);   }   int genPlus(vector<vector<bool>>& b, int i, int j) {     int ret = 0;     int x, y;     x = i;     y = j;     while (getcell(b, x + 1, y)) {       ++x;       ++ret;     }     x = i;     y = j;     while (getcell(b, x - 1, y)) {       --x;       ++ret;     }     x = i;     y = j;     while (getcell(b, x, y + 1)) {       ++y;       ++ret;     }     x = i;     y = j;     while (getcell(b, x, y - 1)) {       --y;       ++ret;     }     return ret;   }   int main(int argc, char const* argv[]) {     cin.sync_with_stdio(0);     cin.tie(0);     int h, w;     cin >> h >> w;     int cnt = 0;     vector<vector<bool>> there(h, vector<bool>(w));     for (int i = 0; i < h; i++) {       for (int j = 0; j < w; j++) {         char c;         cin >> c;         there[i][j] = (c ==  * );         cnt += there[i][j];       }     }     for (int i = 0; i < h; i++) {       for (int j = 0; j < w; j++) {         if (there[i][j] && isPlus(there, i, j)) {           int g = genPlus(there, i, j);           if (g + 1 == cnt) {             cout <<  YES ;             return 0;           }           cout <<  NO ;           return 0;         }       }     }     cout <<  NO ;     return 0;   }   