codejamProblemC.RecycledNumbers-创新互联
                                            
                                                http://code.google.com/codejam/contest/1460488/dashboard#s=p2
网站题目:codejamProblemC.RecycledNumbers-创新互联
路径分享:http://www.scyingshan.cn/article/djggci.html
                                            
                                        
我做模拟题是一向不行的 这道题搞了我m久 发现我对数字真的是非常不敏感~

只是解决了small data而已 large data模拟肯定是不行的
这道题 有一个点我觉得很巧妙
而且终于将sprintf sscanf strncpy 用了一下 挺好用哒~
#include 
#include
#include
using namespace std;
#define MAX 2000000
int vis[MAX];
int m,n;
int count( int num )
{
int  val, i, sum = 0;
char tmp[10]={0}, head[10]={0}, str[10];
    sprintf(str,"%d", num);
int len = strlen(str);
for( i=0; i num 简化了计算呐!! 就是循环得到的数比num小就忽略 因为肯定已经加过了
// vis[val]!=num 是避免重复计算 题目要求   if( val>=m && val<=n && val>num  && vis[val]!=num )
        {
            sum++,  vis[val] = num;
        }
    }
return sum;
}
int main()
{
int nCase = 1, i, cas, tot;
    freopen("./new.in", "r", stdin);
    freopen("./new.out", "w", stdout);
    scanf("%d", &cas);
while( cas-- )
    {
        tot= 0;
        scanf("%d %d", &m, &n);
        memset(vis,-1, sizeof(vis));
for( i=m; i<=n; i++ )
        {
            tot+= count(i);
        }
        printf("Case #%d: %d
", nCase++, tot);
    }
return 0;
}    网站题目:codejamProblemC.RecycledNumbers-创新互联
路径分享:http://www.scyingshan.cn/article/djggci.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 