2591번 - 숫자카드
#include <stdio.h>#include <stdlib.h>#include <string.h>
int main(){ static int i, j, len, a[55]; char m[55]; scanf("%s",m); len=strlen(m); a[0]=1; a[1]=1; for(i=2;i<=len;i++) { if(m[i-1]=='0') { if((m[i-2]-48)*10+m[i-1]-48>34) {printf("0"); return 0;} if(m[i-2]=='0') {printf("0"); return 0;} if((m[i-3]-48)*10+m[i-2]-48<=34 && i!=2)a[i]=a[i-1]-1; else a[i]=a[i-1]; } else if((m[i-2]-48)*10+m[i-1]-48<=34 && m[i-2]!='0') a[i]=a[i-1]+a[i-2]; else a[i]=a[i-1]; } printf("%d",a[len]); return 0;}참고로 앞질문들의 예제 전부 ㄴ
댓글을 작성하려면 로그인해야 합니다.
tim0906s 7년 전
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
static int i, j, len, a[55];
char m[55];
scanf("%s",m);
len=strlen(m);
a[0]=1;
a[1]=1;
for(i=2;i<=len;i++)
{
if(m[i-1]=='0')
{
if((m[i-2]-48)*10+m[i-1]-48>34) {printf("0"); return 0;}
if(m[i-2]=='0') {printf("0"); return 0;}
if((m[i-3]-48)*10+m[i-2]-48<=34 && i!=2)a[i]=a[i-1]-1;
else a[i]=a[i-1];
}
else if((m[i-2]-48)*10+m[i-1]-48<=34 && m[i-2]!='0') a[i]=a[i-1]+a[i-2];
else a[i]=a[i-1];
}
printf("%d",a[len]);
return 0;
}참고로 앞질문들의 예제 전부 ㄴ