您的位置:首页 > 其它

hdoj_5642 (动规---------他们说这题思想是数位dp,然而我看了一天半数位dp还是没弄懂。。。)

2016-03-13 17:52 330 查看
#include<iostream>
#include<cstring>
#include<cstdio>
#define LL long long
#define MOD 1000000007
using namespace std;
const int maxn = 2000+10;
int N;
LL p[maxn][5];

int main() {
int T; cin >> T;
while(T--) {
memset(p, 0, sizeof(p));
scanf("%d", &N);
p[1][1] = 26; p[1][2] = 0; p[1][3] = 0;
for(int i = 2; i <= N; i++) {
p[i][1] = 25*(p[i-1][1]+p[i-1][2]+p[i-1][3])%MOD;
p[i][2] = p[i-1][1];
p[i][3] = p[i-1][2];
}
cout << (p
[1]+p
[2]+p
[3])%MOD << endl;
//这个cout输出也要记得取模!!!
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: