답안 #821502

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
821502 2023-08-11T10:56:28 Z radaiosm7 화성 (APIO22_mars) C++17
0 / 100
1 ms 236 KB
#include "mars.h"
#include <bits/stdc++.h>
using namespace std;

int id(int i, int j, int n) {
	return i*n+j;
}

bool valid(int i, int j, int n) {
	if (i < 0) return false;
	if (i >= n) return false;
	if (j < 0) return false;
	if (j >= n) return false;
	return true;
}

string process(vector<vector<string> > a, int i, int j, int k, int n) {
	string ans(100, '0');
	int tn = n;
	n = 2*n+1;

	if (k == 0) for (int dx=0; dx < 3; ++dx) for (int dy=0; dy < 3; ++dy) if (a[dx][dy][0] == '1') ans[id(i+dx, j+dy, n)] = '1';
	else for (int dx=0; dx < 3; ++dx) for (int dy=0; dy < 3; ++dy) for (int jk=0; jk < 100; ++jk) if (a[dx][dy][jk] == '1') ans[jk] = '1';

	if (k == tn-1) {
		char mat[n][n];
		bool vis[n][n];
		for (int dx=0; dx < n; ++dx) for (int dy=0; dy < n; ++dy) vis[dx][dy] = false;
		for (int dx=0; dx < n; ++dx) for (int dy=0; dy < n; ++dy) mat[dx][dy] = ans[id(dx, dy, n)];
		int cc = 0;

		for (int dx=0; dx < n; ++dx) {
			for (int dy=0; dy < n; ++dy) {
				if (mat[dx][dy] == '1') {
					if (!vis[dx][dy]) {
						if (!valid(dx+1, dy, n)) ++cc;
						else if (!vis[dx+1][dy]) ++cc;
					}

					vis[dx][dy] = true;
					if (valid(dx+1, dy, n)) vis[dx+1][dy] = true;
					if (valid(dx, dy+1, n)) vis[dx][dy+1] = true;
				}
			}
		}

		string conn(100, '0');
		for (i=0; i < 9; ++i) if (cc & (1 << i)) conn[i] = '1';
		return conn;
	}

	else return ans;
}

Compilation message

mars.cpp: In function 'std::string process(std::vector<std::vector<std::__cxx11::basic_string<char> > >, int, int, int, int)':
mars.cpp:22:5: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
   22 |  if (k == 0) for (int dx=0; dx < 3; ++dx) for (int dy=0; dy < 3; ++dy) if (a[dx][dy][0] == '1') ans[id(i+dx, j+dy, n)] = '1';
      |     ^
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 236 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 236 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 236 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 236 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 236 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 236 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 236 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 236 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 236 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 236 KB Incorrect
2 Halted 0 ms 0 KB -