hdu 5944 Fxx and string【暴力枚举】
2016-10-30 13:10
288 查看
Fxx and string
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 376 Accepted Submission(s): 171
Problem Description
Young theoretical computer scientist Fxx get a string which contains lowercase letters only.
The string S contains n lowercase
letters S1S2…Sn.Now
Fxx wants to know how many three tuple (i,j,k) there
are which can meet the following conditions:
1、i,j,k are
adjacent into a geometric sequence.
2、Si='y',Sj='r',Sk='x'.
3.Either j|i or j|k
Input
In the first line, there is an integer T(1≤T≤100) indicating
the number of test cases.
T lines
follow, each line contains a string, which contains only lowercase letters.(The length of string will not exceed 10000).
Output
For each case, output the answer.
Sample Input
2
xyyrxx
yyrrxxxxx
Sample Output
0
2
Source
BestCoder Round #89
题目大意:
在字符串中找到三元组(i,j,k)使得其是一个等比数列,使得ai=y,aj=r,ak=x;
问一共有多少种情况。
思路;
1、O(n)枚举起点,枚举一个等比数列的q,暴力找三元组判定即可。
2、注意1 3 9是等比数列,9 3 1也是等比数列。
Ac代码:
#include<stdio.h>
#include<string.h>
using namespace std;
#define ll __int64
char a[100500];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%s",a+1);
int n=strlen(a+1);
ll output=0;
for(int i=1;i<=n;i++)
{
for(int j=2;j<=n;j++)
{
if(i*j<=n&&i*j*j<=n)
{
if(a[i]=='y'&&a[i*j]=='r'&&a[i*j*j]=='x')
{
output++;
}
if(a[i]=='x'&&a[i*j]=='r'&&a[i*j*j]=='y')
{
output++;
}
}
else break;
}
}
printf("%I64d\n",output);
}
}
相关文章推荐
- HDU 5944 Fxx and string(暴力/枚举)
- 【HDU 5944】【暴力】Fxx and string 【给定一个字符串s,求有多少个三元组(i,j,k)满足i,j,k是等比数列且s[i]=='y'&&s[j]=='r'&&s[k]=='x'】
- 【hdu 5944】Fxx and string(枚举)
- HDU 5944 Fxx and string (暴力)
- HDU 5994 Fxx and string(【暴力枚举】水题)
- hdu 5944 Fxx and String 暴力(水)
- hdu 5944 Fxx and string
- HDU 5944 Fxx and string
- hdu 5944 Fxx and string
- HDU 5944 Fxx and string
- hdu 5944 Fxx and string
- BestCoder Round #89 1001 & HDU 5944 Fxx and string【字符串,等比数列】
- hdu 5944 Fxx and string
- codeforces877B(div2)Nikita and string 暴力枚举+前缀和
- hdu 5143 NPY and arithmetic progression(暴力枚举)
- HDU 4681 string 求最长公共子序列的简单DP+暴力枚举
- HDU 4445Crazy Tank 2012金华现场赛D题(暴力枚举)
- hdu - 4608 - I-number(暴力枚举)
- hdu 1239 Calling Extraterrestrial Intelligence Again (暴力枚举)
- HDU 4082 Hou Yi's secret 暴力枚举