HDU 4891 The Great Pan
제목 의 뜻 을 이해 하기 어렵다.
아주 긴 문장 을 입력 하 는 것 입 니 다. 구체 적 으로 얼마나 되 는 지 저도 잘 모 르 겠 습 니 다!!그것 이 몇 가지 의미 가 있 는 지 판단 하 라!!!
그 중 두 가지 상황 이 그것 을 만 드 는 것 은 여러 가지 의미 가 있다!!
1. {A | B | C} 은 이 말 이 A 의 뜻 이거 나 B 의 뜻 이거 나 C 의 뜻 이거 나 제목 이 똑 같은 뜻 이 나타 나 지 않 음 을 나타 낸다.
그러면 이것 은 비교적 조작 하기 쉽다. 바로 통계 {} 안에 몇 개의 "|" 가 있 으 면 된다 는 것 이다. 뜻 의 종 류 는 "|" 숫자 에 1 을 더 하 는 것 이다.
b. $,이 말 은 주로 빈 칸 의 영향 을 받 아 여러 가지 의 미 를 가 져 옵 니 다. 그 중에서 여러 개의 빈 칸 이 연속 되 었 을 때 서로 다른 수량의 빈 칸 도 서로 다른 의 미 를 가 져 옵 니 다!그래서 또 하나의 빈 칸 은 두 가지 의미 가 생 긴 다. 두 개 는 세 가지 가 생 긴 다. 그 다음 에 마지막 에 루 승 하면 된다. 그 중에서 '빈 칸 의 연속 에 영향 을 주지 않 는 다!!!!
제목 의 뜻 을 알 게 되면 이 문 제 는 그리 어렵 지 않 고 복잡 한 문자열 로 처리 된다.
입력 을 잘 모 르 기 때문에 getchar 입력 을 사용 합 니 다.
AC 코드 는 다음 과 같 습 니 다.
#include
#include
#include
#define ll long long
using namespace std;
int main()
{
ll n;
char c;
while(~scanf("%I64d",&n))
{
ll dk=0,flag=0,bbj=0;
ll last1=1,suml,summ,last2=1,bj;
getchar();
for(ll i=0;i100000)
bbj=1;
}
if(c=='$'&&flag==0) {flag=1;summ=0;continue;}
if(flag==1)
{
if(c==' '&&bj==0) {summ=1;bj=1;}
else if(c==' '&&bj==1)
{
summ++;
}
if(c!=' '&&c!='
')
{
last2=last2*(summ+1);
summ=0;bj=0;
}
if(last2>100000)
bbj=1;
}
if(flag==1&&c=='$') flag=0;
}
}
if(bbj)
printf("doge
");
else
{
ll ans = last1 * last2 ;
if(ans>100000)
printf("doge
");
else printf("%I64d
",ans);
}
}
return 0;
}