zoukankan      html  css  js  c++  java
  • 2016-2017 ACM-ICPC, NEERC, Central Subregional Contest H

    Non-random numbers

    题意:求有多少个满足第i为数不为i且不含前导0的n位数

    思路:第1位有8种情况(除了0,1),2-9位有9种情况,10位以上每位有10种情况,大于9以后只要往后面加0就是了,或者用大数乘的模板也可以

    AC代码:

    #include "iostream"
    #include "string.h"
    #include "stack"
    #include "queue"
    #include "string"
    #include "vector"
    #include "set"
    #include "map"
    #include "algorithm"
    #include "stdio.h"
    #include "math.h"
    #define ll long long
    #define bug(x) cout<<x<<" "<<"UUUUU"<<endl;
    #define mem(a) memset(a,0,sizeof(a))
    using namespace std;
    const int N=1e5+100;
    /////2016-2017 ACM-ICPC, NEERC, Central Subregional Contest
    string Multiply(string s,int x)
    {
        reverse(s.begin(),s.end());
        int cmp=0;
        for(int i=0;i<s.size();i++)
        {
            cmp=(s[i]-'0')*x+cmp;
            s[i]=(cmp%10+'0');
            cmp/=10;
        }
        while(cmp)
        {
            s+=(cmp%10+'0');
            cmp/=10;
        }
        reverse(s.begin(),s.end());
        return s;
    }
    
    string ans="8";
    int main(){
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
        cin>>n;
        for(int i=2; i<=n; ++i){
            if(i<10) ans=Multiply(ans,9);
            else ans=Multiply(ans,10);
        }
        cout<<ans;
        return 0;
    }
  • 相关阅读:
    linux 文件权限(s、t、i、a)解析
    vim Vundle
    数据结构学习(1)
    Android ImageView设置图片原理(上)
    C++11 之auto
    Android屏幕分辨率获取方法--源码剖析
    C++的发展方向是对的嘛?
    c++ 的前世今生
    学习知识的一种思路
    遗失的访谈小评
  • 原文地址:https://www.cnblogs.com/max88888888/p/7123279.html
Copyright © 2011-2022 走看看