zoukankan      html  css  js  c++  java
  • P1590 失踪的7

    这么简洁的题目当然不用数位 DP 啦。

    (n) 搞成 (10) 的幂次之和计算。枚举后缀长度 (i),考虑它的贡献,因为不能填 (7) 也不用考虑前导零所以就是 (9^i)

    然后乘上 (n-i) 位置上的数字能取到的数量即可。

    code:

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    int main()
    {
    	int t,p;
    	ll n,s,k;
    	scanf("%d",&t);
    	while(t--)
    	{
    		scanf("%lld",&n);
    		s=0;
    		k=1;
    		while(n)
    		{
    			p=n%10;
    			s+=k*(p-(p>6));
    			n/=10;
    			k*=9;
    		}
    		printf("%lld
    ",s);
    	}
    	return 0;
    }
    
  • 相关阅读:
    2017年3月9日上午学习
    3.17上午
    3.16上午
    3.16下午
    3.15
    2017.3.14
    3.14
    217.3.13上午
    2017.4.7-morning
    2017.4.6-afternoon
  • 原文地址:https://www.cnblogs.com/May-2nd/p/14855053.html
Copyright © 2011-2022 走看看