Submission #116117

#TimeUsernameProblemLanguageResultExecution timeMemory
116117faustaadpDango Maker (JOI18_dango_maker)C++17
33 / 100
1118 ms262144 KiB
#include<bits/stdc++.h>
typedef long long ll;
#define pb push_back
#define mp make_pair
#define fi first
#define se second
using namespace std;
ll n,m,i,j,has,te;
char a[3030][3030];
int x[9000010];
int b[3000010];
bool mat[3000010];
vector<int> v[3000010];
int main()
{
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin>>n>>m;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			cin>>a[i][j];
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
		{
			if(j+2<=m&&a[i][j]=='R'&&a[i][j+1]=='G'&&a[i][j+2]=='W')
			{
				te++;
				has++;
				x[(i-1)*m+j]=te;
				x[(i-1)*m+j+1]=te;
				x[(i-1)*m+j+2]=te;
			}
		}
	ll hai=te;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
		{
			if(i+2<=n&&a[i][j]=='R'&&a[i+1][j]=='G'&&a[i+2][j]=='W')
			{
				te++;
				has++;
				if(x[(i-1)*m+j]!=0)
				{
					v[x[(i-1)*m+j]].pb(te);
				}
				if(x[(i)*m+j]!=0)
				{
					v[x[(i)*m+j]].pb(te);
				}
				if(x[(i+1)*m+j]!=0)
				{
					v[x[(i+1)*m+j]].pb(te);
				}
			}				
		}
	for(i=1;i<=te;i++)
	{
		for(j=0;j<v[i].size();j++)
			if(!mat[v[i][j]])
			{
				mat[v[i][j]]=1;
				has--;
				break;
			}
	}
	cout<<has<<"\n";
}

Compilation message (stderr)

dango_maker.cpp: In function 'int main()':
dango_maker.cpp:57:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(j=0;j<v[i].size();j++)
           ~^~~~~~~~~~~~
dango_maker.cpp:33:5: warning: unused variable 'hai' [-Wunused-variable]
  ll hai=te;
     ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...