如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。

URAL/1009

来自"NOCOW"

跳转到: 导航, 搜索

DP,f[i]表示i位满足条件的k进制数的个数, f[i]:=(k-1)*(f[i-1]+f[i-2]) //f[0]:=1,f[1]:=k-1

#include<iostream>
using namespace std;
 
int main()
{ int n,k;
  int sum[20];
  cin>>n>>k;
  k--;
  sum[0]=1;
  sum[1]=k;
  for(int i=2;i<=n;i++) sum[i]=k*(sum[i-1]+sum[i-2]);
  cout<<sum[n]<<endl;
  system("pause");
  return 0;
}
 
from 3144046cjc

3144046cjc

VAR
  f:array [0..16] of longint;
  i,k,n:longint;
BEGIN
  readln(n);
  readln(k);
  dec(k);
  f[0]:=1;
  f[1]:=k;
    for i:=2 to n do f[i]:=k*(f[i-1]+f[i-2]);
  writeln(f[n]);
END.
个人工具