Submission #1158682

#TimeUsernameProblemLanguageResultExecution timeMemory
1158682aldkswDango Maker (JOI18_dango_maker)C++20
13 / 100
1 ms328 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define f first #define s second // ll n,a[1001000],q,b[1001000],z[8001000],ans[1001000]; // pair<ll,ll>st[4001000]; // ll binpov( ll a,ll n,ll m){ // if(n==0){x // return 1ll; // } // if(n&1)return((binpov(a,n-1,m)%m)*a%m); // else{ // ll b=binpov(a,n/2,m)%m; // return ((b*1ll*b)%m); // } // } // pair<ll,ll> merge(pair<ll,ll>a,pair<ll,ll>b){ // if(a.f>b.f){ // return a; // } // return b; // } // void build(ll v,ll l,ll r){ // if(l==r){ // st[v].f=b[l]; // st[v].s=l; // //cout<<b[l]<<' '<<l<<'\n'; // return; // } // ll mid=(r+l)/2; // build(v*2,l,mid); // build(v*2+1,mid+1,r); // st[v]=merge(st[v*2],st[v*2+1]); // } // void push(ll v,ll l,ll r){ // st[v*2].f-=z[v]; // st[v*2+1].f-=z[v]; // z[v*2]+=z[v]; // z[v*2+1]+=z[v]; // z[v]=0; // } // void upd_range(ll v,ll l,ll r,ll x,ll y) { // if(l>y||x>r)return; // if(x<=l&&r<=y){ // st[v].f--; // z[v]++; // return; // } // push(v,l,r); // ll mid=(r+l)/2; // upd_range(v*2,l,mid,x,y); // upd_range(v*2+1,mid+1,r,x,y); // st[v]=merge(st[v*2],st[v*2+1]); // } // void upd_pos(ll v,ll l,ll r,ll pos){ // if(l==r){ // st[v].f=-1e10; // return; // } // push(v,l,r); // ll mid=(r+l)/2; // if(pos<=mid)upd_pos(v*2,l,mid,pos); // else upd_pos(v*2+1,mid+1,r,pos); // st[v]=merge(st[v*2],st[v*2+1]); // } // pair<ll,ll> get(ll v,ll l,ll r,ll x,ll y){ // if(l>y||x>r){ // return {-1e18,-1e10}; // } // if(x<=l&&r<=y){ // return {st[v]}; // } // push(v,l,r); // ll mid=(l+r)/2; // return merge(get(v*2,l,mid,x,y),get(v*2+1,mid+1,r,x,y)); // } vector<ll>g[22]; int gcd(int a, int b){ if(b==0)return a; return gcd(b,a%b); } int lcm(int a,int b){ return (a/gcd(a,b))*b; } ll q,fact[5001],inv[5001]; const ll mod=1e9+7; ll binpow(ll a,ll n){ if(n==0){ return 1ll; } if(n%2)return binpow(a,n-1)*1LL*a%mod; else{ ll b=binpow(a,n/2)%mod; return b*1LL*b%mod; } } bool saw(vector<int>v){ int ok=1,ok1=1; for(int i=1;i<=(int)v.size();i+=2){ ok&=(v[i-1]<v[i]&&v[i]>v[i+1]); } for(int i=1;i<=(int)v.size();i+=2){ ok1&=(v[i-1]>v[i]&&v[i]<v[i+1]); } return (ok||ok1); } bool cyc(vector<int>v){ int cnt=0,cur=1; while(cur!=v[cur-1]&&cnt<=(int)v.size()){ cur=v[cur-1]; if(cur==1)break; cnt++; } return (cnt==(int)v.size()-1); } bool used[10001][10001]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll n,m; cin>>n>>m; char s[n+1][m+1]; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cin>>s[i][j]; } } ll cnt=0; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(j+2<m){ //cout<<j+2<<" "<<s[i][j]<<" "<<s[i][j+1]<<" "<<s[i][j+2]<<" "<<used[i][j]<<" "<<used[i][j+1]<<" "<<used[i][j+2]<<endl; if(s[i][j]=='R'&&s[i][j+1]=='G'&&s[i][j+2]=='W'&&(!used[i][j])&&(!used[i][j+1])&&(!used[i][j+2])){ used[i][j]=1; used[i][j+1]=1; used[i][j+2]=1; cnt++; } } if(i+2<n){ if(s[i][j]=='R'&&s[i+1][j]=='G'&&s[i+2][j]=='W'&&!used[i][j]&&!used[i+1][j]&&!used[i+2][j]){ used[i][j]=1; used[i+1][j]=1; used[i+2][j]=1; cnt++; } } } } cout<<cnt; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...