Problem A Jason的特殊爱好
来源:互联网 发布:maven构建java项目 编辑:程序博客网 时间:2024/05/21 19:30
Problem A Jason的特殊爱好
Accept: 94 Submit: 424
Time Limit: 1000 mSec Memory Limit : 32768 KB
Problem Description
Jason很喜欢数字,特别是1这个数字,因为他觉得1有特殊的含义。为了让更多的人喜欢上1,他决定出一题关于1的水题(每个人都喜欢水题)。
Input
输入数据中有多组数据,每组数据输入为两个正数,a,b(1<=a,b<=10^18)。
Output
输出a到b之间的整数包含多少个1。
Sample Input
1 1000
Sample Output
301
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char a[21],b[21];
while(cin>>a>>b){
int lena=strlen(a);
int lenb=strlen(b);
int i,j,l,k;
unsigned long long sum=0;
if(lena==lenb)
{
int flag=0;
for(i=0;i<lena;i++)
if(((int)(a[i]-'0')<1&&1<(int)(b[i]-'0'))||(a[i]=='1'||b[i]=='1'))
{
flag=1;
for(j=0;j<lena;j++)
if(j!=i)
{
if(a[i]!=b[j])
sum+=(int)(b[j]-a[j]+1);
else
sum+=(int)(b[j]-a[j]+1);
}
}
if(!flag)
sum++;
cout<<sum<<endl;
continue;
}
for(i=lena;i<=lenb;i++){
if(i==lena){
for(j=0;j<i;j++){
if(a[j]=='1')
{
if(j==0)
sum++;
for(l=0;l<j;l++)
sum+=(9-(int)(a[l]-'0')+1);
for(k=j+1;k<i;k++)
sum+=(int)(a[k]-'0');
}
}
}
else
{
if(i==lenb){
int flag=0;
for(j=0;j<i;j++){
flag=0;
if(b[j]=='1')
{
flag=1;
if(j!=0)
sum+=((int)(a[0]-'0'));
for(l=1;l<j;l++)
sum+=((int)(b[l]-'0')+1);
for(k=j+1;k<i;k++){
if(b[k]!='0')
sum+=(int)(b[k]-'0')+1;
else
sum+=(int)(b[k]-'0');
}
}
}
if(!flag)
sum++;
}
else
{
if(i==2)
sum+=((i-1)*10+9);
else
{
int num=1;
for(int q=0;q<i-1;q++)
num=num*10;
sum+=(9*(i-2)*10*(i-1)+num);
}
}
}
}
cout<<sum<<endl;
}
return 0;
}
#include<cstring>
using namespace std;
int main()
{
char a[21],b[21];
while(cin>>a>>b){
int lena=strlen(a);
int lenb=strlen(b);
int i,j,l,k;
unsigned long long sum=0;
if(lena==lenb)
{
int flag=0;
for(i=0;i<lena;i++)
if(((int)(a[i]-'0')<1&&1<(int)(b[i]-'0'))||(a[i]=='1'||b[i]=='1'))
{
flag=1;
for(j=0;j<lena;j++)
if(j!=i)
{
if(a[i]!=b[j])
sum+=(int)(b[j]-a[j]+1);
else
sum+=(int)(b[j]-a[j]+1);
}
}
if(!flag)
sum++;
cout<<sum<<endl;
continue;
}
for(i=lena;i<=lenb;i++){
if(i==lena){
for(j=0;j<i;j++){
if(a[j]=='1')
{
if(j==0)
sum++;
for(l=0;l<j;l++)
sum+=(9-(int)(a[l]-'0')+1);
for(k=j+1;k<i;k++)
sum+=(int)(a[k]-'0');
}
}
}
else
{
if(i==lenb){
int flag=0;
for(j=0;j<i;j++){
flag=0;
if(b[j]=='1')
{
flag=1;
if(j!=0)
sum+=((int)(a[0]-'0'));
for(l=1;l<j;l++)
sum+=((int)(b[l]-'0')+1);
for(k=j+1;k<i;k++){
if(b[k]!='0')
sum+=(int)(b[k]-'0')+1;
else
sum+=(int)(b[k]-'0');
}
}
}
if(!flag)
sum++;
}
else
{
if(i==2)
sum+=((i-1)*10+9);
else
{
int num=1;
for(int q=0;q<i-1;q++)
num=num*10;
sum+=(9*(i-2)*10*(i-1)+num);
}
}
}
}
cout<<sum<<endl;
}
return 0;
}
- Problem A Jason的特殊爱好
- Problem 2113 Jason的特殊爱好(计算1的个数)
- fzu Problem 2113 Jason的特殊爱好 (数位dp)
- FZU 2113 Jason的特殊爱好
- fzu2113 Jason的特殊爱好(数位DP)
- fzu 2113 Jason的特殊爱好
- fzu 2113 Jason的特殊爱好 --- 数位dp
- Fzu 2113 Jason的特殊爱好 (数位dp)
- FZU 2113 Jason的特殊爱好 [数位DP]
- fzu-2113 Jason的特殊爱好[数位dp]
- fzu 2113 Jason的特殊爱好 && hdu 2089 不要62 ( 数位dp )
- 练习--特殊爱好
- HDU-5832 A water problem(特殊的取模方法)
- FZU2164 Jason's problem
- A problem occurred starting process 'command '/home/jason/Android/Sdk/build-tools/23.0.3/aapt
- fzu - 2164 Jason's problem
- Foj 2164 Jason's problem
- 我的爱好!
- 程序设计竞赛之只读取一行字符串
- QT5.0.1在WIN7下 出现QApplication: No such file or directory 问题的解决办法
- va_list va_start va_arg va_end解析
- 密码发生器 在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或
- wp7激活码注册教程
- Problem A Jason的特殊爱好
- CSS3特效之转换transform
- WP7新手必知 注册一个可用的Windows Live ID
- linux API函数总结
- POJ 1308 hdu 1325 Is It A Tree?【并查集+入度 判断一个有向图是树】
- Redis数据备份与恢复
- CSS3特效之渐变linear-gradient
- js 复制文本框内容到剪贴板
- Xubuntu 12.04 搭建Eclipse Android 开发环境 adb