比赛 |
20150711暑期B班 |
评测结果 |
AAWWWWAWWW |
题目名称 |
计数问题 |
最终得分 |
30 |
用户昵称 |
サイタマ |
运行时间 |
0.005 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2015-07-11 10:28:20 |
显示代码纯文本
#include<fstream>
using namespace std;
int main()
{
ifstream fin("count2013.in");
ofstream fout("count2013.out");
int n,x,num;
bool ans=false;
fin>>n>>x;
if(x==0)num=0;
if(x!=0)num=1;
if(n%10==n)
{
ans=true;
fout<<num<<endl;
}
if(n%100==n&&ans==false)
{
ans=true;
for(int a=10;a<=n;a++)
{
if(a%10==x)num++;
if(a/10==x)num++;
}
fout<<num<<endl;
}
if(n%1000==n&&ans==false)
{
ans=true;
for(int a=10;a<=99;a++)
{
if(a%10==x)num++;
if(a/10==x)num++;
}
for(int a=100;a<=n;a++)
{
if(a%10==x)num++;
if(a/100==x)num++;
if(a/10%10==x)num++;
}
fout<<num<<endl;
}
if(n%10000==n&&ans==false)
{
ans=true;
for(int a=10;a<=99;a++)
{
if(a%10==x)num++;
if(a/10==x)num++;
}
for(int a=100;a<=999;a++)
{
if(a%10==x)num++;
if(a/100==x)num++;
if(a/10%10==x)num++;
}
for(int a=1000;a<=n;a++)
{
if(a%10==x)num++;
if(a/1000==x)num++;
if(a/100%10==x)num++;
if(a/10%10==x)num++;
}
}
if(n%100000==n&&ans==false)
{
ans=true;
for(int a=10;a<=99;a++)
{
if(a%10==x)num++;
if(a/10==x)num++;
}
for(int a=100;a<=999;a++)
{
if(a%10==x)num++;
if(a/100==x)num++;
if(a/10%10==x)num++;
}
for(int a=1000;a<=9999;a++)
{
if(a%10==x)num++;
if(a/1000==x)num++;
if(a/100%10==x)num++;
if(a/10%10==x)num++;
}
for(int a=10000;a<=n;a++)
{
if(a%10==x)num++;
if(a/1000%10==x)num++;
if(a/100%10==x)num++;
if(a/10%10==x)num++;
if(a%10==x)num++;
}
}
if(n%1000000==n&&ans==false)
{
ans=true;
for(int a=10;a<=99;a++)
{
if(a%10==x)num++;
if(a/10==x)num++;
}
for(int a=100;a<=999;a++)
{
if(a%10==x)num++;
if(a/100==x)num++;
if(a/10%10==x)num++;
}
for(int a=1000;a<=9999;a++)
{
if(a%10==x)num++;
if(a/1000==x)num++;
if(a/100%10==x)num++;
if(a/10%10==x)num++;
}
for(int a=10000;a<=99999;a++)
{
if(a%10==x)num++;
if(a/1000%10==x)num++;
if(a/100%10==x)num++;
if(a/10%10==x)num++;
if(a%10==x)num++;
}
for(int a=100000;a<=n;a++)
{
if(a/100000==x)num++;
if(a/10000%10==x)num++;
if(a/1000%10==x)num++;
if(a/100%10==x)num++;
if(a/10%10==x)num++;
if(a%10==x)num++;
}
}
if(ans==false)
{
for(int a=10;a<=99;a++)
{
if(a%10==x)num++;
if(a/10==x)num++;
}
for(int a=100;a<=999;a++)
{
if(a%10==x)num++;
if(a/100==x)num++;
if(a/10%10==x)num++;
}
for(int a=1000;a<=9999;a++)
{
if(a%10==x)num++;
if(a/1000==x)num++;
if(a/100%10==x)num++;
if(a/10%10==x)num++;
}
for(int a=10000;a<=99999;a++)
{
if(a%10==x)num++;
if(a/1000%10==x)num++;
if(a/100%10==x)num++;
if(a/10%10==x)num++;
if(a%10==x)num++;
}
for(int a=100000;a<=999999;a++)
{
if(a/100000==x)num++;
if(a/10000%10==x)num++;
if(a/1000%10==x)num++;
if(a/100%10==x)num++;
if(a/10%10==x)num++;
if(a%10==x)num++;
}
if(x==1)num++;
if(x==0)num=num+6;
}
fin.close();
fout.close();
return 0;
}