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

📄 p3340.cpp

📁 大概POJ上50道比较难的题的代码
💻 CPP
字号:
#include <iostream>
#include <string>
using namespace std;
const int MAXN = 20;
long long po[MAXN];
int main(){
    po[0] = 1;
    for(int i = 1;i < MAXN;++i) po[i] = po[i-1] * 10;
    string s1,s2;
    while(cin >> s1 && s1 != "#"){
        cin >> s2;
        int flag(0),j(0),n(0);
        long long ans(0);
        for(int i = 0;i < s1.size();++i) 
            if(s1[i] == '?') ++n;
        for(int i = 0;i < n && flag == 0;++i){
            for(;s1[j] != '?';++j){
                if(s1[j] > s2[j] && flag == 0) flag = 1;
                if(s1[j] < s2[j] && flag == 0) flag = -1;
            }
            if(flag == 1) ans += po[n-i];
            if(flag == 0) ans += po[n-i-1] * ('9'-s2[j]);
            ++j;
        }
        if(flag == 0){
            for(j = s1.size()-1;s1[j] != '?' && j >= 0 && flag == 0;--j)
                if(s1[j] > s2[j]) flag = 1;
            if(flag == 1) ++ans;
        }
        cout << ans << endl;
    }
}

⌨️ 快捷键说明

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