做法:
题目相当于就是取两节子字符串,然后把这两节子字符串的和相乘等于a。
ns[i]: 子字符串的和等于i的子字符串的个数。
#include#include #include using namespace std; #define ll __int64 ll num[4040]; ll add[4040]; ll ns[40400]; int main() { ll a; char str[4040]; ll i,j; while(~scanf("%I64d",&a)) { ll sum; sum=0; memset(ns,0,sizeof(ns)); scanf("%s",str); ll len=strlen(str); for(i=0;i 40000)continue; if(a%i==0) { sum+=ns[i]*ns[a/i]; } } } cout<