poj 3340 Barbara Bennett's Wild Numbers

水題,只要分析好所有的情況就很好做的。

#include<iostream>
#include<string>
using namespace std;
string s1,s2;
int main()
{
	while(cin>>s1)
	{
		if(s1[0]=='#')
			break;
		cin>>s2;int count =0;
		int n = s1.length();
		for(int i=0;i!=n;i++)
		{
			if(s1[i] < s2[i] && s1[i]!='?')
			{
				break;
			}
			if(s1[i]=='?')//出現問號的情況
			{
				int buff = '9' - s2[i];
				for(int j=i+1;j!=n;j++)
					if(s1[j]=='?')
						buff*=10;
				count+=buff;
			}
			if(s1[i]==s2[i])//兩數相等,繼續計算下一個
				continue;
			if(s1[i]>s2[i]&&s1[i]!='?')//X大於W的情況,count等於10乘以之後問號個數
			{
				int buff = 1;
				for(int j=i+1;j!=n;j++)
				{
					if(s1[j]=='?')
						buff*=10;
				}
				count+=buff;
				break;
			}
		}
		cout<<count<<endl;
	}
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章