C++ 算法:整数模板匹配计数
#include
int cnt; //记录符合条件的数字个数
//判断数字是否符合模板要求 bool check(int x, string s) { int len = s.length(); string str = to_string(x); //将数字转换为字符串 if (str.length() != len) return false; //位数不相等肯定不符合要求 for (int i = 0; i < len; i++) { if (s[i] != '?' && s[i] != str[i]) return false; //有一位不相等就不符合要求 } return true; }
int main() { int t; cin >> t; while (t--) { string s; cin >> s; cnt = 0; for (int i = 1; i <= 100000; i++) { //枚举所有可能的数字 if (check(i, s)) cnt++; } cout << cnt << endl; } return 0; }
原文地址: https://www.cveoy.top/t/topic/oR2v 著作权归作者所有。请勿转载和采集!