这道题由于做了前面的四分树的题,思路不难想,就是需要注意的地方,两组数据之间要输出空行,最后后面不能输出,然后就是图形和序列的对应关系有两个特殊的,如果是一般图形,就按照刘汝佳说的对应,如果是全黑,那么对应于一个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 = 1

该博客介绍了如何解决UVA806问题,涉及空间结构和几何算法。作者强调了解题关键在于理解两组数据间的空行处理,以及图形与序列的特殊对应情况。全黑图形对应0,全白则不输入序列,以-1表示结束。文章提醒读者注意题目要求,避免不必要的输出。

365

被折叠的 条评论
为什么被折叠?



