📄 2480684_ac_15ms_408k.cpp
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char num[366][800];
void muti(char Tmp[],char t1[])
{
int tmp, w, p;
char ans[800], tt;
int l1, l2, i, j;
l1 = strlen(Tmp);
l2 = strlen(t1);
for(i = 0; i < l2/2; i++)
{
tt = t1[i];
t1[i] = t1[l2-i-1];
t1[l2-i-1] = tt;
}
p = 1;
for(i = 0; i < 800; i++)
ans[i] = '0';
for(i = 0; i < l2; i++)
{
w = 0;
for(j = 0; j < l1; j++)
{
tmp = (Tmp[j]-'0')*(t1[i]-'0')+w;
tmp += ans[j+i]-'0';
ans[j+i] = tmp%10+'0';
w = tmp/10;
}
if(w)
ans[j+i] = '0'+w;
}
if(w)
p = 0;
ans[j+i-p] = '\0';
strcpy(Tmp,ans);
//puts(Tmp);
}
void init()
{
int i;
char str[4];
strcpy(num[1],"1");
for(i = 2; i <= 365; i++)
{
itoa(i,str,10);
strcpy(num[i],num[i-1]);
muti(num[i],str);
//system("pause");
}
}
int main()
{
int t, i, ans;
int a, b;
init();
scanf("%d",&t);
while(t--)
{
ans = 0;
scanf("%d%d",&a,&b);
for(i = 0; num[a][i]!='\0'; i++)
if(num[a][i] == b+'0')
ans++;
printf("%d\n",ans);
}
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -