比赛 动规 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 棋盘上的車 最终得分 100
用户昵称 Hyoi_ctime 运行时间 0.097 s
代码语言 C++ 内存使用 8.31 MiB
提交时间 2017-06-18 22:12:37
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. #define COGS
  3. using namespace std;
  4. const int maxn=20;
  5. long long f[1<<maxn],n,temp;
  6. inline void in(){
  7. #ifdef COGS
  8. freopen("rook.in","r",stdin);
  9. freopen("rook.out","w",stdout);
  10. #endif
  11. scanf("%lld",&n);
  12. temp=(1<<n)-1;
  13. }
  14. inline long long lowbit(int x){
  15. return x&-x;
  16. }
  17. inline void dp(){
  18. f[0]=1;
  19. for (long long i=1;i<=temp;i++){
  20. for (long long j=i;j;j-=lowbit(j)){
  21. long long k=lowbit(j);
  22. f[i]+=f[i-k];
  23. }
  24. }
  25. }
  26. inline void p(){
  27. printf("%lld",f[temp]);
  28. }
  29. int main(){
  30. in();
  31. dp();
  32. p();
  33. return 0;
  34. }