離綫----HDU5139

来源:互联网 发布:贵州广电网络股票 编辑:程序博客网 时间:2024/05/22 13:39
寫的第一個是,快速冪,結果是自己的電腦都算不出來
第二個是迭代的階乘,最後發現題目給的數據很大,有10^5辣麽多....直接LTE,説到底必須離綫
/** * *Dtcg *2014.12.08 ***************/#include <cstdio>#include <map>#include <cmath>#include <vector>#include <sstream>#include <cstring>#include <fstream>#include <iostream>#include <algorithm>using namespace std;typedef  long long  ll;const int mod=int(1e9+7);struct inf{    ll s,z,res;}one;vector<inf>date;inline bool z_cmp(inf a,inf b){    return a.z<b.z;}inline bool s_cmp(inf a,inf b){    return a.s<b.s;}int main(){    ll n,cnt=1;    while(scanf("%I64d",&n)!=EOF){        one.s=cnt++;        one.z=n;        date.push_back(one);    }    sort(date.begin(),date.end(),z_cmp);    ll j=0;    ll ans=1;    ll p=1;    for(ll i=1;i<=10000000;i++){        p=p*i%mod;        ans=ans*p%mod;        while(j<date.size()&&date[j].z==i)            date[j++].res=ans;    }    sort(date.begin(),date.end(),s_cmp);    for(ll i=0;i<date.size();i++)        printf("%I64d\n",date[i].res);    return 0;}
                                             
0 1
原创粉丝点击