首页 > 代码库 > hdu 4891 The Great Pan
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) { snum=0; lnum=0; ans=1; s.clear(); getchar(); while(n--) { cin.getline(tmp,2000000);//会超时 gets(tmp); s+=tmp; } //cout<<s<<endl; for(i=0; i<s.length(); i++) { if(s[i]==‘{‘) { i++; while(i<s.length()&&s[i]!=‘}‘) { if(s[i]==‘|‘) { snum++; } i++; if(ans*(snum+1)>100000)break; } ans*=(snum+1); snum=0;//容易忽略 if(ans>100000)break; //printf("#%d\n",snum); } } for(i=0; i<s.length(); i++) { if(s[i]==‘$‘) { i++; while(i<s.length()&&s[i]!=‘$‘) { if(s[i]==‘ ‘) lnum++; else { ans*=(lnum+1); lnum=0; } i++; if(ans*(lnum+1)>100000)break; } ans*=(lnum+1); lnum=0;//容易忽略 if(ans>100000)break; } } if(ans>100000)printf("doge\n"); else printf("%I64d\n",ans); } //printf(); return 0;}
1.
$$之间每出现连续的n个空格,乘以n+1;
{|}计算|的个数为n,乘以n+1。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。