码迷,mamicode.com
首页 > 其他好文 > 详细

UVA - 10324 Zeros and Ones

时间:2014-08-10 18:47:30      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   os   io   strong   for   

Description

Given a string of 0‘s and 1‘s up to 1000000 characters long and indices i and j, you are to answer a question whether all characters between position min(i,j) and position max(i,j) (inclusive) are the same.

Input

There are multiple cases on input. The first line of each case gives a string of 0‘s and 1‘s. The next line contains a positive integer n giving the number of queries for this case. The next n lines contain queries, one per line. Each query is given by two non-negative integers, i and j. For each query, you are to print Yes if all characters in the string between position min(i,j) and position max(i,j) are the same, and No otherwise.

Output

Each case on output should start with a heading as in the sample below. The input ends with an empty string that is a line containing only the new line character, this string should not be processed. The input may also with end of file. So keep check for both.

Sample Input

0000011111
3
0 5
4 2
5 9
01010101010101010101010101111111111111111111111111111111111110000000000000000
5
4 4
25 60
1 3
62 76
24 62
1
1
0 0

Sample Output

Case 1:
No
Yes
Yes
Case 2:
Yes
Yes
No
Yes
No
Case 3:
Yes

题意:给你一个01串,判断连续的字串[l, r]是否只含同一个种字符

思路:用dp[i]记录到当前位置有多少个连续的相同字符,如果询问的区间的大小<=dp[r],那么代表就是可以的

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 1000005;

int dp[maxn];
int n, q;
char str[maxn];

int main() {
	int cas = 1;
	while (scanf("%s", str) != EOF) {
		int len = strlen(str);
		dp[0] = 1;
		for (int i = 1; i < len; i++) 
			if (str[i] == str[i-1])
				dp[i] = dp[i-1] + 1;
			else dp[i] = 1;
		printf("Case %d:\n", cas++);	
		int l, r;
		scanf("%d", &q);
		while (q--) {
			scanf("%d%d", &l, &r);
			if (l > r)
				swap(l, r);
			if (r - l + 1 <= dp[r])
				printf("Yes\n");
			else printf("No\n");
		}
	}
	return 0;
}



UVA - 10324 Zeros and Ones,布布扣,bubuko.com

UVA - 10324 Zeros and Ones

标签:des   style   blog   color   os   io   strong   for   

原文地址:http://blog.csdn.net/u011345136/article/details/38470739

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!