Submission #116109

# Submission time Handle Problem Language Result Execution time Memory
116109 2019-06-10T15:39:44 Z faustaadp Dango Maker (JOI18_dango_maker) C++17
Compilation error
0 ms 0 KB
#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[9000010];
int mat[9000010];
vector<int> v[9000010];
ll dfs(ll aa)
{
	if(b[aa]==i)
		return 0;
	b[aa]=1;
	ll ii;
	for(ii=0;ii<v[aa].size();ii++)
		if(mat[v[aa][ii]]==-1||dfs(v[aa][ii]))
		{
			mat[v[aa][ii]]=aa;
			return 1;
		}
	return 0;
}
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++)
		{
			p[(i-1)*m+j]=(i-1)*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;
			}
		}
	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[te].pb(x[(i-1)*m+j]);
				}
				if(x[(i)*m+j]!=0)
				{
					v[te].pb(x[(i)*m+j]);
				}
				if(x[(i+1)*m+j]!=0)
				{
					v[te].pb(x[(i+1)*m+j]);
				}
			}				
		}
	memset(mat,-1,sizeof(mat));
	for(i=1;i<=te;i++)
	{
		has-=dfs(i);
	}
	cout<<has<<"\n";
}

Compilation message

dango_maker.cpp: In function 'll dfs(ll)':
dango_maker.cpp:20:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(ii=0;ii<v[aa].size();ii++)
           ~~^~~~~~~~~~~~~
dango_maker.cpp: In function 'int main()':
dango_maker.cpp:35:4: error: 'p' was not declared in this scope
    p[(i-1)*m+j]=(i-1)*m+j;
    ^