Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- //*****************Data type**********************//
- typedef long long ll;
- typedef long long int lli;
- typedef unsigned long long ull;
- typedef unsigned long long int ulli;
- //*****************Map****************************//
- typedef map<int, int> mp;
- typedef map<int, string> mps;
- typedef map<int, char>mpc;
- typedef map<string, int>mpsi;
- typedef map<char, int>mpci;
- //****************Pair****************************//
- typedef pair<int, int> pii;
- typedef pair<string, string> pss;
- typedef pair<char, char> pcc;
- typedef pair<int, string> pis;
- typedef pair<int, char> pic;
- //*****************Vector************************//
- typedef vector<int> VI;
- typedef vector<string> VS;
- typedef vector<double> VD;
- typedef vector<lli> VLLI;
- typedef vector<VI> VVI;
- typedef vector<pii> VPI;
- //-------------------------------------------------------------------------------//
- #define pp1(A) printf("%d\n",A)
- #define pp2(A,B) printf("%d %d\n",A,B)
- #define pp3(A,B,C) printf("%d %d %d\n",A,B,C)
- #define ss1(A) scanf("%d", &A)
- #define ssl(A) scanf("%lld", &A)
- #define ss2(A,B) scanf("%d,%d",&A,&B)
- #define ss3(A,B,C) scanf("%d,%d,%d",&A,&B,&C)
- //--------------------------------------------------------------------------------//
- #define nosync ios_base::sync_with_stdio(false), cin.tie(NULL)
- #define pf push_front
- #define pb push_back
- #define popp pop_back()
- #define itr iterator
- #define mk make_pair
- #define ff first
- #define ss second
- #define END return 0
- #define line printf("\n")
- #define sq(a) (a)*(a)
- #define SZ(a) (int)a.size()
- #define all(a) (a).begin(), (a).end()
- #define Erase(V,I) (V).erase((V).begin()+I)
- #define Insert(V,I,M) (V).insert((V).begin()+I,M)
- //********************************************************************************//
- #define loop(i,n) for(int i=0;i<n;i++)
- #define loop2(i,n) for(int i=n-1;i>=0;i--)
- #define loop3(i,t) for(int i=1;i<=t;i++)
- #define scanV(V, N) for(int i=0; i<N; i++){ int X; ss1(X); V.pb(X); }
- #define scanVll(V, N) for(int i=0; i<N; i++){ lli X; ssl(X); V.pb(X); }
- #define scanA(A, N) for(int i=0; i<N; i++){ ss1(A[i]); }
- #define printA(A, N) for(int i=0; i<N; i++){ cout<<A[i]<<" "; }
- #define printAL(A, N) for(int i=0; i<N; i++){ cout<<A[i]<<endl; }
- #define printV(V, N) for(int i=0; i<N; i++){ cout<<V[i]<<endl; }
- #define vout(v) for(int i=0;i<v.size();i++){ cout<<v[i]; if(i<v.size()-1) cout<<" "; else cout<<endl;}
- #define voutll(V) for(int i=0; i<V.size(); i++){ cout<<V[i]<<" "; }
- /*-----------------------GCD && LCM------------------*/
- int gcd(int a, int b) { return b == 0 ? a : gcd(b , a % b); }
- int lcm(int a, int b) { return a * (b / gcd(a, b)); }
- /*---------------------------------------------------*/
- //---------------------------------*START*-----------------------------------------//
- int main()
- {
- int n,m;
- cin>>n>>m;
- string s[n];
- loop(i,n)
- {
- cin>>s[i];
- }
- int count=0;
- loop(i,n)
- {
- loop(j,m)
- {
- if(s[i][j]=='*')
- {
- count++;
- }
- }
- }
- for(int i=1;i<n-1;i++)
- {
- for(int j=1;j<m;j++)
- {
- if(s[i][j]=='.')
- {
- continue;
- }
- if(s[i-1][j]=='*' and s[i+1][j]=='*' and s[i][j-1]=='*' and s[i][j+1]=='*')
- {
- count=count-1;
- for(int k=i-1;k>=0;k--)
- {
- if(s[k][j]=='*')
- {
- count--;
- }
- else
- {
- break;
- }
- }
- for(int k=i+1;k<n;k++)
- {
- if(s[k][j]=='*')
- {
- count--;
- }
- else
- {
- break;
- }
- }
- for(int k=j-1;k>=0;k--)
- {
- if(s[i][k]=='*')
- {
- count--;
- }
- else
- {
- break;
- }
- }
- for(int k=j+1;k<m;k++)
- {
- if(s[i][k]=='*')
- {
- count--;
- }
- else
- {
- break;
- }
- }
- if(count==0)
- {
- cout<<"YES"<<endl;
- }
- else
- {
- cout<<"NO"<<endl;
- }
- END;
- }
- }
- }
- cout<<"NO"<<endl;
- END;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement