NYOJ527 AC_mm玩dota
还以为要用什么数学技巧否则会超时呢,结果没想到可以直接暴力求解。。
#include <cstdio>
#define mod 1314520
int f[270] = {1, 1};
int main(){
int n, a, b;
for(n = 2; n != 270; ++n)
f[n] = (f[n - 1] + f[n - 2]) % mod;
while(scanf("%d", &n) == 1){
a = b = 0;
while(n){
if(n & 1) ++a;
else ++b;
n >>= 1;
}
printf("%d\n", f[a * b]);
}
return 0;
}
浙公网安备 33010602011771号