hdu 4891 The Great Pan (模拟)

为什么要开__int64 巨巨在哪~

# include <stdio.h>
# include <algorithm>
# include <string.h>
using namespace std;
int main ()
{
	__int64 count;
    int i,len,cot,cot1,j,flag,n;
    char a[1001][1030];
    while(~scanf("%d",&n))
    {
        getchar();
        flag=0;
        count=1;
        cot1=1;
        int flag1=0;
        for(i=0;i<n;i++)
        {
            gets(a[i]);
            len=strlen(a[i]);
            for(j=0;j<len;j++)
            {
                if(a[i][j]=='{')
                    flag=1;
                if(a[i][j]=='}')
                    flag=0;
                if(flag)
                {
                    if(a[i][j]=='|')
                        cot1++;
                }
                else
                {
                    count*=cot1;
                    if(count>100000)
                    {
                        flag1=1;
                    }
                    cot1=1;
                }
            }
        }
        if(flag1)
            printf("doge\n");
        else
        {
            cot=0;
            cot1=1;
            flag=0;
            for(i=0;i<n;i++)
            {
                len=strlen(a[i]);
                for(j=0;j<len;j++)
                {
                    if(a[i][j]=='$')
                        cot++;
                    if(cot%2)
                    {
                        if(a[i][j]==' ')
                            cot1++;
                        else
                        {

                            count*=cot1;
                            cot1=1;
                            if(count>100000)
                            {
                                flag=1;
                                printf("doge\n");
                                break;
                            }
                        }
                    }
                    else
                    {
                        count*=cot1;
                        cot1=1;
                        if(count>100000)
                        {
                            flag=1;
                            printf("doge\n");
                            break;
                        }
                    }
                }
                if(flag)
                    break;
            }
            if(!flag)
                printf("%I64d\n",count);
        }
    }
    return 0;
}

hdu 4891 The Great Pan (模拟),布布扣,bubuko.com

时间: 2024-12-29 15:19:17

hdu 4891 The Great Pan (模拟)的相关文章

hdu 4891 The Great Pan(模拟)

题目链接:hdu 4891 The Great Pan 题目大意:给出一个文本,问说有多少种理解方式. 1. $$中间的,(s1+1) * (s2+1) * ...*(sn+1), si表示连续的空格数. 2.{}中间,即 | 的个数+1. 解题思路:模拟. #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn = 1<<22

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

题目链接 题意 : 给你n行字符串,问你有多少种理解方式.有两大类的理解 (1){A|B|C|D|...}代表着理解方式可以是A,可以是B或C或者D. (2)$blah blah$,在$$这两个符号中间,如果是不连续的空格的那个位置就有2种理解方式,可以理解为没有空格也可以理解为有空格.如果有连续N个空格的位置,那里就有N+1种理解方式. 最后所有的理解方式相乘,数据保证$一定与$匹配,{一定与匹配},不会有任何嵌套,类似{$$}或者{{}}或者${}$这种情况都不会出现,也不会有{$}这种情况

hdu 4891 The Great Pan

#include<stdio.h> #include<string> #include<string.h> #include<iostream> using namespace std; string s; char tmp[2000000]; int main() { int snum;//s int lnum;//{ int n; int i,j; __int64 ans; while(scanf("%d",&n)!=EOF)

HDU 4891 The Great Pan (字符串处理)

题目链接: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) {

2014多校联合三 (HDU 4888 HDU 4891 HDU 4893)

HDU 4891 The Great Pan 签到题  他怎么说你就怎么做就好了  注意做乘法时候会爆int 代码: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long LL; int n; char s[2000000]; int flag1, flag2, sp, ansflag;

HDU 4891 简单模拟

The Great Pan Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1035    Accepted Submission(s): 355 Problem Description As a programming contest addict, Waybl is always happy to take part in vario

Hdu 3887树状数组+模拟栈

题目链接 Counting Offspring Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1757    Accepted Submission(s): 582 Problem Description You are given a tree, it’s root is p, and the node is numbered fr

HDU 4930 Fighting the Landlords 模拟

_(:зゝ∠)_ 4带2居然不是炸弹,, #include <algorithm> #include <cctype> #include <cassert> #include <cstdio> #include <cstring> #include <climits> #include <vector> #include<iostream> using namespace std; #define N 18 #

hdu 1316 How Many Fibs? (模拟高精度)

题目大意: 问[s,e]之间有多少个 斐波那契数. 思路分析: 直接模拟高精度字符串的加法和大小的比较. 注意wa点再 s 可以从 0 开始 那么要在判断输入结束的时候注意一下. #include <cstdio> #include <iostream> #include <cstring> #include <algorithm> using namespace std; struct node { char str[111]; int len; void