toj_2872_2.cpp

来自「Tianjin University Online Judge 的80多道题目 」· C++ 代码 · 共 71 行

CPP
71
字号
#include <iostream>#include <string>#include <stdio.h>using namespace std;string s1,s2;int l1;string min,max;__int64 power(int a,int b){	__int64 result=1;	for(int i=1;i<=b;i++)		result=result*a;	return result;}int main(){  int i;  int n;  while(cin>>s1 && s1!="#")    {      cin>>s2;      n=0;       l1=s1.length();      for(i=0;i<l1;i++)	if(s1[i]=='?')	  n++;      min=s1;      max=s1;	      for(i=0;i<l1;i++)	if(s1[i]=='?')	  min[i]='0';      for(i=0;i<l1;i++)	if(s1[i]=='?')	  max[i]='9';		      if(max<=s2)	printf("0\n");      else	{	  if(min>s2)	    {	      __int64 sum=0;	      for(i=0;i<l1;i++)		if(s1[i]=='?')		  {		    n--;		    sum+=(9-(min[i]-'0'))*power(10,n);		  }	      sum++;	      printf("%I64d\n",sum);	    }	  else 	    {	      min=s2;	      __int64 sum=0;	      for(i=0;i<l1;i++)		if(s1[i]=='?')		  {		    n--;		    sum+=(9-(min[i]-'0'))*power(10,n);		  }	      printf("%I64d\n",sum);	    }	}    }  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?