⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2503823_ac_0ms_140k.cpp

📁 北大大牛代码 1240道题的原代码 超级权威
💻 CPP
字号:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <math.h>

char w[13], x[13];
int num;

int f(int p)
{
	int i, j, no, t;

	for(i = p; x[i]!='\0'; i++)
	{
		if(x[i]!='?')
		{
			if(x[i]!=w[i])
			{
				if(x[i]>w[i])
					return (int)pow(10,num);
				else
					return 0;
			}
		}
		else
		{
			no = 0;
			j = i;
			int tt, v = 1;
			while(x[j]!='\0'&&x[j]=='?')
				j++,no++,num--;
			tt = 0;
			for(t = j-1; t >= i; t--)
				tt += (w[t]-'0')*v,v*=10;
			return ((int)pow(10,no)-1-tt)*(int)pow(10,num)+(x[j]=='\0'?0:f(j));
		}
	}
	return 0;
}

int main()
{
	int i;

	while(scanf("%s",x)==1&&x[0]!='#')
	{
		num = 0;
		scanf("%s",w);
		for(i = 0; x[i]!='\0'; i++)
			num  += (x[i]=='?');
		for(i = 0; x[i]!='\0'; i++)
			if(x[i]==w[i])
			{
				strcpy(&w[i],&w[i+1]);
				strcpy(&x[i],&x[i+1]);
				i--;
			}
		printf("%d\n",f(0));
	}
	return 1;
}

⌨️ 快捷键说明

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