CF364A Matrix

题目描述

给定一个由十进制数字组成的字符串 $s$,定义 $b_{ij}=s_{i}·s_{j}$。在矩阵 $b$ 中,求有多少个矩形使得每个矩形内所有单元 $(i,j)$ 的 $b_{ij}$ 之和恰好等于 $a$。 在矩阵中,一个矩形由四个整数 $(x,y,z,t)$ $(x\leq y, z\leq t)$ 表示。矩形包含所有满足 $x\leq i\leq y, z\leq j\leq t$ 的单元 $(i,j)$。

输入格式

第一行包含整数 $a$($0\leq a\leq 10^{9}$)。 第二行包含一个十进制数字字符串 $s$($1\leq |s| \leq 4000$)。

输出格式

输出一个整数,表示矩形数目的答案。 请不要在 C++ 中使用 %lld 来读取或输出 64 位整数。建议使用 cin, cout 流或 %I64d 格式符。

说明/提示

由 ChatGPT 5 翻译