2014新生暑假个人排位赛03 D. 田田的账号

来源:互联网 发布:时间的本质知乎 编辑:程序博客网 时间:2024/06/02 01:35
时间限制 1000 ms 内存限制 65536 KB

题目描述

田田申请了一个新的oj账号,打算取一个霸气而简单的名字。 什么叫简单呢?说白了田田脑子不好使,只能记住abcd这4个字母组成单词。 怎么叫霸气呢?田田认为a个个数一定要有奇数个,b的个数一定要有偶数个(包括0)才可以。 现在田田取了一个长为n的账号,但是由于田田的记性实在太差了,而把账号忘记了. 于是把这个问题交给了聪明的wzt,而他认为这道题太过于简单就把这道题交给了你 究竟这个账号有多少种可能?你只需得到这个结果模109+7的值

输入格式

多组case,第一行为case数T,之后T行每行一个整数n 1n109T100

输出格式

一个case对应一行输出

输入样例

212

输出样例

14
找规律+快速幂
#include <iostream>#include <string>#include <cstdio>#include <map>typedef long long lld;using namespace std;lld PowMod(lld a,lld b,lld mod){    lld ans = 1;    while(b)    {        if(b&1)            ans = (ans *a) %mod;        a = (a *a) %mod;        b >>= 1;    }    return ans % mod;}int main(){    int T;    lld n;    scanf("%d",&T);    while(T--)    {        scanf("%lld",&n);        lld b = n-1;        cout << PowMod(4,b,1e9+7) << endl;    }    return 0;}

0 0
原创粉丝点击