Google Kick Start 2021 Round G - A (Dogs and Cats)

Dongjae Lee·2021년 10월 20일
0
#include <bits/stdc++.h>
using namespace std;

int main() {
	int T;
	scanf("%d", &T);
	
	for(int tc = 1; tc <= T; tc++) {
		int N, D, C, M;
		scanf("%d %d %d %d", &N, &D, &C, &M);
		
		char buffer[10001];
		scanf("%s", buffer);
		
		bool result = true;
		int i;
		for(i = 0; i < N; i++) {
			if(buffer[i] == 'C') {
				if(C == 0) {
					result = false;
					break;
				}
				C--;
			}
			if(buffer[i] == 'D') {
				if(D == 0) {
					result = false;
					break;
				}
				D--;
				C += M;
			}
		}
		if(result) printf("Case #%d: YES\n", tc);
		else {
			if(buffer[i] == 'D') printf("Case #%d: NO\n", tc);
			else {
				result = true;
				for(i; i < N; i++) {
					if(buffer[i] == 'D') {
						result = false;
						break;
					}
				}
				if(result) printf("Case #%d: YES\n", tc);
				else printf("Case #%d: NO\n", tc);
			}
		}
	}
}
profile
Hello Everything!

0개의 댓글