General
 
 
# Author Problem Lang Verdict Time Memory Sent Judged  
187409796 Practice:
DaiRuiChen007
1772F - 3 C++14 (GCC 6-32) Accepted 31 ms 120 KB 2022-12-31 08:48:31 2022-12-31 08:48:32
→ Source
// LUOGU_RID: 98333189
#include<bits/stdc++.h>
#define pii pair<int,int>
using namespace std;
const int MAXN=31,MAXS=1001,MAXK=101;
int n,m,k,id[MAXN][MAXN];
struct node {
	int id,cnt;
	bool a[MAXN][MAXN];
	inline bool valid(int i,int j) {
		return a[i][j]!=a[i-1][j]&&a[i][j]!=a[i+1][j]&&a[i][j]!=a[i][j-1]&&a[i][j]!=a[i][j+1];
	}
	inline friend bool operator <(const node &A,const node &B) {
		return A.cnt>B.cnt;
	}
}	pic[MAXK];
signed main() {
	scanf("%d%d%d",&n,&m,&k);
	int cnt=0;
	for(int i=1;i<=n;++i) {
		for(int j=1;j<=m;++j) {
			id[i][j]=++cnt;
		}
	}
	for(int t=0;t<=k;++t) {
		pic[t].id=t+1;
		for(int i=1;i<=n;++i) {
			for(int j=1;j<=m;++j) {
				scanf("%1d",&pic[t].a[i][j]);
			}
		}
		for(int i=2;i<n;++i) {
			for(int j=2;j<m;++j) {
				if(pic[t].valid(i,j)) ++pic[t].cnt;
			}
		}
	}
	sort(pic,pic+k+1);
	vector <pii> ans;
	for(int t=1;t<=k;++t) {
		for(int i=2;i<n;++i) {
			for(int j=2;j<m;++j) {
				if(pic[t].a[i][j]!=pic[t-1].a[i][j]) {
					ans.push_back(make_pair(i,j));
				}
			}
		}
		ans.push_back(make_pair(pic[t].id,0));
	}
	printf("%d\n%d\n",pic[0].id,(int)ans.size());
	for(auto oper:ans) {
		if(oper.second!=0) printf("1 %d %d\n",oper.first,oper.second);
		else printf("2 %d\n",oper.first);
	}
	return 0;
}
?
Time: ? ms, memory: ? KB
Verdict: ?
Input
?
Participant's output
?
Jury's answer
?
Checker comment
?
Diagnostics
?
Click to see test details