답안 #529664

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
529664 2022-02-23T10:10:56 Z c28dnv9q3 Nautilus (BOI19_nautilus) C++17
0 / 100
3 ms 204 KB
#include <vector>
#include <iostream>

int main() {
	int R, C, M;
	scanf("%d%d%d", &R, &C, &M);
	std::vector<std::vector<char>> map(R);
	for (int i = 0; i < R; i++) {
		map[i].resize(C);
	}
	getchar();
	for (int i = 0; i < R; i++) {
		for (int j = 0; j < C; j++) {
			char x;
			x = getchar();
			map[i][j] = x;
		}
		getchar();
	}
	std::vector<int> commands(M);
	for (int i = 0; i < M; i++) {
		char c = getchar();
		int x = -1;
		switch (c) {
		case 'N': x = 0; break;
		case 'S': x = 1; break;
		case 'E': x = 2; break;
		case 'W': x = 3; break;
		}
		commands[i] = x;
	}

	int counter = 0;
	for (int i = 0; i < R; i++) {
		for (int j = 0; j < C; j++) {
			int x = i, y = j;
			for (int z = M - 1; z >= -1; z--) {
				if (x < 0 || y < 0 || x >= R || y >= C) {
					goto END;
				}
				if (map[y][x] == '#') {
					goto END;
				}
				if(z==-1){
					counter++;
					goto END;
				}
				else {
					int c = commands[z];
					switch (c){
					case 0:x--; break;
					case 1:x++; break;
					case 2:y++; break;
					case 3:y--; break;
					}
				}
			}
		END:counter = counter;
		}
	}
	std::cout << counter;
	return 0;
}

Compilation message

nautilus.cpp: In function 'int main()':
nautilus.cpp:6:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    6 |  scanf("%d%d%d", &R, &C, &M);
      |  ~~~~~^~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB Output isn't correct
3 Halted 0 ms 0 KB -