교육 Codeforces 라운드 73 (사업부 정격. 2) E (생각, 게임)

#DEFINE HAVE_STRUCT_TIMESPEC
#INCLUDE <. 비트 / stdc ++ H>
사용 스페이스 성병;
INT 길이 [300007];
INT 주 () {
IOS :: sync_with_stdio (거짓); //多组数据输入CIN, cout을容易超时
cin.tie (NULL);
cout.tie (NULL);
INT의 Q;
CIN Q >>;
(Q는 -) 동안 {
를 INT, B;
CIN 사항 >> >> B;
문자열의;
CIN >> S;
N = INT s.size ();
INT의 TMP = 0;
INT CNT1 = 0, = 0 CNT2, CNT3 = 0;
INT LEN = 0;
경우 (; 나는 <N; I = 0 값 int I ++) {
( '.'은 S [I] ==)의 경우
TMP를 ++;
또 {
경우 (TMP> = B && TMP <a)
++ CNT1;
다른 경우 (TMP> = A && TMP <2 * b)
++ CNT2;
다른 경우 (TMP> = 2 * b)
++ CNT3 렌 = TMP;

}
}
경우 (S [N-1] == '.') {
경우 (TMP> = B && TMP <a)
++ CNT1;
다른 경우 (TMP> = A && TMP <2 * b)
++ CNT2;
다른 경우 (TMP> = 2 * b)
++ CNT3 렌 = TMP;
}
경우 (CNT3> = 2 || CNT1)
COUT << "NO \ 않음"을;
다른 경우, {(CNT3!)
경우 (CNT2 & 1)
COUT << "YES \ 않음";
다른
COUT << "NO \ 않음";
}
다른 경우 (CNT2 & 1) {
경우 LEN (> = 2 *는 && LEN <A + 3 * B-1)
COUT << "YES \ 않음";
다른
COUT << "NO \ 않음";
}
다른 {
경우 (LEN <= A + 2 * (B-2) || LEN> = 3 *는 && LEN <A + 4 * B-1)의
COUT << "YES \ 않음";
다른
COUT << "NO \ 않음";
}
}
0을 리턴;
}

추천

출처www.cnblogs.com/ldudxy/p/11568895.html