답안 #128514

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
128514 2019-07-11T05:04:16 Z 윤교준(#3160) 영역 (JOI16_ho_t4) C++14
0 / 100
2 ms 376 KB
#include <bits/stdc++.h>
#define eb emplace_back
#define sz(V) ((int)(V).size())
#define allv(V) ((V).begin()),((V).end())
#define sorv(V) sort(allv(V))
#define univ(V) (V).erase(unique(allv(V)),(V).end())
#define upmin(a,b) (a)=min((a),(b))
#define INF (0x3f3f3f3f)
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;

const int MAXN = 100055;

namespace TC1 {
	int *B, *C, N;

	void solve(int *_B, int *_C, int _N) {
		B = _B; C = _C; N = _N;

		set<pii> V;
		for(int i = 0; i < N; i++) V.insert({B[i], C[i]});

		int ret = 0;
		for(auto &v : V) {
			bool flag = false;
			for(int dy : {0, 1}) for(int dx : {0, 1}) {
				int y = v.first+dy, x = v.second+dx;
				auto it = V.find({y, x});
				if(V.end() == it) {
					flag = true;
					break;
				}
			}
			if(!flag) ret++;
		}

		cout << ret << endl;
		exit(0);
	}
}

int B[MAXN], C[MAXN];
char A[MAXN];

int N, K;

int main() {
	scanf("%d%d %s", &N, &K, A+1);
	for(int i = 1; i <= N; i++) {
		if('N' == A[i]) C[i]--;
		if('S' == A[i]) C[i]++;
		if('E' == A[i]) B[i]--;
		if('W' == A[i]) B[i]++;
		B[i] += B[i-1];
		C[i] += C[i-1];
	}
	if(1 == K || (!B[N] && !C[N])) TC1::solve(B, C, N);
	return 0;
}

Compilation message

2016_ho_t4.cpp: In function 'int main()':
2016_ho_t4.cpp:49:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d %s", &N, &K, A+1);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Incorrect 2 ms 376 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Incorrect 2 ms 376 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Incorrect 2 ms 376 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Incorrect 2 ms 376 KB Output isn't correct
6 Halted 0 ms 0 KB -