HDU 5327 Olympiad

来源:互联网 发布:网络类型有哪些 编辑:程序博客网 时间:2024/05/18 04:52

这道题一看,就觉得,如果直接暴力好像有点悬。想了一下,突然发现T很大,那么我就先打表然后O(1)输出即可。

#include<bits/stdc++.h>using namespace std;int cnt[100005];void init(){int c = 0;bool vst[15], flag;for(int i = 1; i <= 100000; i++){int j = i;memset(vst, 0, sizeof(vst));flag = 1;while(j){if(!vst[j % 10])vst[j % 10] = 1;else{flag = 0;break;}j /= 10;}if(flag){c++;cnt[i] = c;}elsecnt[i] = c;}}int main(){int T, a, b;init();cin >> T;while(T--){cin >> a >> b;cout << cnt[b] - cnt[a - 1] << endl;}return 0;}


0 0