golfathon/cell-voronoi/a.cpp
2024-06-03 14:16:32 +00:00

3 lines
507 B
C++

#include<bits/stdc++.h>
using namespace std;main(){int M,N,a,b,x,y,A[]={1,0,-1,0},B[]={0,1,0,-1},Q[99]={};cin>>M>>N>>b;int G[M][N]={};char c;set<int> S,T;while(b--){cin>>c>>x>>y;G[x][y]=c;if(c!=35)S.insert(x*N+y);}while(S.size()){T.clear();for(int u:S){x=u/N;y=u%N;for(c=0;c<4;c++){a=(x+A[c]+M)%M;b=(y+B[c]+N)%N;if(G[a][b]!=G[x][y]&&T.count(a*N+b))G[a][b]=1;if(!G[a][b])T.insert(a*N+b),G[a][b]=G[x][y];}}S=T;}for(a=0;a<M;a++)for(b=0;b<N;b++)Q[G[a][b]]++;for(a=65;a<91;a++)if(Q[a])printf("%c %d\n",a,Q[a]);}