3119134_wa.cc
来自「做的POJ的一些题目」· CC 代码 · 共 33 行
CC
33 行
#include<iostream>
#include<string>
using namespace std;
int n;
char mg[50000];
int binaryfind(int left,int right)
{
if(left>=right || (left+1==right && mg[right]=='0'))
return 1;
int mid=(left+right)/2;
if(mg[mid+1]=='0')
return binaryfind(left,mid-1)*binaryfind(mid+2,right);
else
{
if(mg[mid]!='0' && (mg[mid]-'0')*10+mg[mid+1]-'0'<=26)
return binaryfind(left,mid-1)*binaryfind(mid+2,right)+binaryfind(left,mid)*binaryfind(mid+1,right);
return binaryfind(left,mid)*binaryfind(mid+1,right);
}
}
int main()
{
scanf("%s",mg);
while(mg[0]!='0')
{
n=strlen(mg);
printf("%d\n",binaryfind(0,n-1));
memset(mg,NULL,50000);
scanf("%s",mg);
}
system("pause");
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?