这道题由于做了前面的四分树的题,思路不难想,就是需要注意的地方,两组数据之间要输出空行,最后后面不能输出,然后就是图形和序列的对应关系有两个特殊的,如果是一般图形,就按照刘汝佳说的对应,如果是全黑,那么对应于一个0,图形全黑,输出一个0,如果图形全黑,那么输入的也就只有一个0,图形全白,那么输入序列的时候输入是空的,只输入一个-1就结束了,如果需要我们输出序列我们也是输出空,一个换行都不要输出,这个是看题才知道了,刘汝佳就没有写
#include <bits/stdc++.h>
#define fi first
#define se second
#define pb push_back
#define mk make_pair
#define sz(x) ((int) (x).size())
#define all(x) (x).begin(), (x).end()
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pa;
char s[70][70];
vi v;
int dx[4] = {
0, 0, 1, 1};
int dy[4] = {
0, 1, 0, 1};
void dfs(int r, int c, int len, string ss, int x) {
ss += x + '0';
int ok1 = 0, ok2 = 0;
for (int i = r; i < r + len; i++) {
for (int j = c; j < c + len; j++) {
if (s[i][j] == '0') ok1