题目链接:HDU 4891 The Great Pan

求一串字符有多少种不同的意思,当中关心‘{’,‘}’之间的‘|’。

和‘$','$'之间的空格,连续N个空格算N+1种。

AC代码:

#include<stdio.h>
#include<string>
#include<string.h>
using namespace std;
char s[2*1024*1024+10];
string ss;
int cnt;
int find(int x,int y)
{
int i,count=0;
for(i=x;i<=y;i++)
{
if(ss[i]=='|')
count++;
}
return count+1;
} int find2(int x,int y)
{
int mark=0;
int i,count=1,ret=1;
for(i=x;i<=y;i++)
{
if(ss[i]==' ')
{
mark=1;
count++;
}
else
{
if(mark==1)
ret*=count;
if(ret>100000)
cnt=1;
count=1;
mark=0;
}
}
return ret;
} int main()
{
int len;
int n,i;
__int64 ans;
while(scanf("%d",&n)!=EOF)
{
len=strlen(s);
ss="";
cnt=0;
ans=1;
getchar();
for(i=0;i<n;i++)
{
gets(s);
ss+=s;
}
int x,y,a,b;
x=y=a=b=-1;
for(i=0;i<ss.length();i++)
{
if(ss[i]=='{')
a=i;
if(ss[i]=='}')
b=i;
if(a!=-1 && b!=-1)
{ ans*=find(a,b);
a=b=-1;
}
if(x==-1 && ss[i]=='$')
{
x=i;
ss[i]='*';
}
if(y==-1 && ss[i]=='$')
y=i;
if(x!=-1 && y!=-1)
{ ans*=find2(x,y);
x=y=-1;
}
if(ans>100000)
cnt=1;
}
if(cnt==1)
printf("doge\n");
else
printf("%I64d\n",ans);
} return 0;
}

HDU 4891 The Great Pan (字符串处理)的更多相关文章

  1. 2014多校第三场1005 || HDU 4891 The Great Pan(模拟)

    题目链接 题意 : 给你n行字符串,问你有多少种理解方式.有两大类的理解 (1){A|B|C|D|...}代表着理解方式可以是A,可以是B或C或者D. (2)$blah blah$,在$$这两个符号中 ...

  2. HDU 4891 The Great Pan (模拟)

    The Great Pan 题目链接: http://acm.hust.edu.cn/vjudge/contest/123554#problem/D Description As a programm ...

  3. HDU 4891 The Great Pan

    模拟题. #include<map> #include<set> #include<ctime> #include<cmath> #include< ...

  4. HDU 4891 The Great Pan (题意题+模拟)

    题意:给定一个文章,问你有多少种读法,计算方法有两种,如果在$中,如果有多个空格就算n+1,如果是一个就算2的次方,如果在{}中, 那么就是把每个空格数乘起来. 析:直接模拟,每次计算一行,注意上一行 ...

  5. 2014联合三所学校 (HDU 4888 HDU 4891 HDU 4893)

    HDU 4891 The Great Pan 注册标题  他怎么说,你怎么样  需要注意的是乘法时,它会爆炸int 代码: #include<iostream> #include<c ...

  6. hdu 2629 Identity Card (字符串解析模拟题)

    这题是一个字符串模拟水题,给12级学弟学妹们找找自信的,嘿嘿; 题目意思就是要你讲身份证的上的省份和生日解析出来输出就可以了: http://acm.hdu.edu.cn/showproblem.ph ...

  7. HDU 4668 Finding string (解析字符串 + KMP)

    转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意:给出一个压缩后的串,以及一个模式串,问模式串 ...

  8. HDU 4162 Shape Number(字符串,最小表示法)

    HDU 4162 题意: 给一个数字串(length <= 300,000),数字由0~7构成,求出一阶差分码,然后输出与该差分码循环同构的最小字典序差分码. 思路: 第一步是将差分码求出:s[ ...

  9. 2017 Multi-University Training Contest - Team 1 1002&&HDU 6034 Balala Power!【字符串,贪心+排序】

    Balala Power! Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

随机推荐

  1. VUE移动端禁止双手放大缩小

    //index.html <meta name="viewport" content="width=device-width,initial-scale=1.0,u ...

  2. Leetcode03---Longest Substring Without Repeating Characters

    Description: Given a string, find the length of the longest substring without repeating characters. ...

  3. java.net.URISyntaxException: Illegal character in query

    java使用httpclient爬取一个网站的时候,请求:String url3="http://sh.58.com/ershoufang/33562546149042x.shtml?amp ...

  4. UIPickerView的应用

    UIPickerView 是一个选择器控件, 它可以生成单列的选择器,也可生成多列的选择器.UIPickerView 直接继承了 UIView ,没有继承 UIControl ,因此,它不能像 UIC ...

  5. Java——Spring介绍

    spring 是一个开源框架,是为了解决企业应用程序开发. 功能如下:1.目的:解决企业应用开发的复杂性.2.功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能.3.范围:任何Ja ...

  6. MAC 中安装和使用express

    其实window系统和mac的操作在大致上其实是想同的,只是一些细节的区别,以下对在mac下安装和使用express做简要介绍,如有不妥之处请各位大神指教. 一.首先要测试node和npm是否已经正确 ...

  7. CSS——盒子

    CSS中的盒子具有以下几个种重要的属性: 1.border(边框) :盒子的厚度 2.padding(内边距):盒子内容距离盒子边框的距离 3.margin(外边距):盒子边框与其他的盒子的距离

  8. 使用jQuery的toggle()方法对HTML标签进行显示、隐藏操作

    这是一个示例: <html> <head> <script type="text/javascript" src="https://code ...

  9. Style在Android中的继承关系

    Style在Android中的继承关系 Android的Styles(样式)和Themes(主题)非常类似Web开发里的CSS,方便开发者将页面内容和布局呈现分开.Style和Theme在Androi ...

  10. Replacing Threads with Dispatch Queues

    Replacing Threads with Dispatch Queues To understand how you might replace threads with dispatch que ...