Submission #7961087


Source Code Expand

// 2019/10/13
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string.h>
#include <queue>
using namespace std;
char s[5000];
int w, ans;
struct poi { 
	int r, l, s;
};
queue<poi>q;
inline bool check(char a, char b);
inline void bfs();
int main() {
	scanf("%s", s); 
	for(int i = 0; i < strlen(s); i++) { 
		if(s[i] == 'w')w = i; 
	}
	q.push((poi) {
		w - 1, w + 1, 0
	});
	bfs();
	printf("%d\n", ans + 3); 
	return 0;
}
inline bool check(char a, char b) { 
	if(a == '(' && b == ')')return 1;
	if(a == ')' && b == '(')return 1;
	if(a == '[' && b == ']')return 1;
	if(a == ']' && b == '[')return 1;
	if(a == '{' && b == '}')return 1;
	if(a == '}' && b == '{')return 1;
	return 0;
}
inline void bfs() {
	while(!q.empty()) {
		poi hei = q.front();
		q.pop();
		int hr = hei.r, hl = hei.l, hs = hei.s;
		if(check(s[hr], s[hl])) { 
			hs += 2; 
			if(hr > 0 && hl < strlen(s)) 
				hr--, hl++, q.push((poi) {
				hr, hl, hs
			});
			ans = max(hs, ans); 
		} else {
			if(hr > 0) 
				q.push((poi) {
				hr - 1, hl, hs
			});
			if(hl < strlen(s)) 
				q.push((poi) {
				hr, hl + 1, hs
			});
		}
	}
	return;
}//zzz

Submission Info

Submission Time
Task C - [[iwi]]
User luogu_bot3
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1128 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:17:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%s", s); 
                ^

Judge Result

Set Name Set 01
Score / Max Score 100 / 100
Status
AC × 37
Set Name Test Cases
Set 01 00_sample1.in, 00_sample2.in, 01_manual1.in, 01_manual2.in, 02_03.in, 03_15.in, 04_15.in, 05_12.in, 06_10.in, 07_03.in, 08_03.in, 09_15.in, 10_15.in, 11_12.in, 12_14.in, 13_07.in, 14_08.in, 15_04.in, 16_05.in, 17_03.in, 18_08.in, 19_13.in, 20_14.in, 21_06.in, 22_07.in, 23_06.in, 24_06.in, 25_03.in, 26_13.in, 27_14.in, 28_04.in, 29_14.in, 30_15.in, 31_15.in, 32_15.in, 33_15.in, 34_15.in
Case Name Status Exec Time Memory
00_sample1.in AC 1 ms 256 KB
00_sample2.in AC 1 ms 256 KB
01_manual1.in AC 1 ms 256 KB
01_manual2.in AC 1 ms 256 KB
02_03.in AC 1 ms 256 KB
03_15.in AC 1 ms 256 KB
04_15.in AC 1 ms 256 KB
05_12.in AC 1 ms 256 KB
06_10.in AC 1 ms 256 KB
07_03.in AC 1 ms 256 KB
08_03.in AC 1 ms 256 KB
09_15.in AC 1 ms 256 KB
10_15.in AC 1 ms 256 KB
11_12.in AC 1 ms 256 KB
12_14.in AC 1 ms 256 KB
13_07.in AC 1 ms 256 KB
14_08.in AC 1 ms 256 KB
15_04.in AC 1 ms 256 KB
16_05.in AC 1 ms 256 KB
17_03.in AC 1 ms 256 KB
18_08.in AC 1 ms 256 KB
19_13.in AC 1 ms 256 KB
20_14.in AC 1 ms 256 KB
21_06.in AC 1 ms 256 KB
22_07.in AC 1 ms 256 KB
23_06.in AC 1 ms 256 KB
24_06.in AC 1 ms 256 KB
25_03.in AC 1 ms 256 KB
26_13.in AC 1 ms 256 KB
27_14.in AC 1 ms 256 KB
28_04.in AC 1 ms 256 KB
29_14.in AC 1 ms 256 KB
30_15.in AC 1 ms 256 KB
31_15.in AC 1 ms 256 KB
32_15.in AC 1 ms 256 KB
33_15.in AC 1 ms 256 KB
34_15.in AC 1 ms 256 KB