凱爺顯然是一波sg函式的題,
然後1e9的話肯定會t,1e5的話沒準還好點……
畢竟每個數都有因子1,會從1e9往下一直轉移……
然後就t了gg
所以這題就是打表找規律
找出來的規律是,
sg值恰為該數能整除的2的最大冪次+1
天天看逼乎上sg打錶真到自己身上了不會打了……
感謝凱爺給我這麼乙個打表機會……
不然出去打不出來表都不好意思說自己學過博弈……
嗯,比賽時候記憶化搞錯了把表打錯了沒找出來規律……
sg陣列要賦-1啊 和sg[0]=0區別啊 辣雞!!!
#include #include #include #include #include #include #include #include #include #include #include const int inf=0x3f3f3f3f;
const int maxn=1e4+10;
const int mod=1e9+7;
const int mod=998244353;
const double eps=1e-7;
typedef long long ll;
#define vi vector#define si set#define pii pair#define pi acos(-1.0)
#define pb push_back
#define mp make_pair
#define lowbit(x) (x&(-x))
#define sci(x) scanf("%d",&(x))
#define scll(x) scanf("%lld",&(x))
#define sclf(x) scanf("%lf",&(x))
#define pri(x) printf("%d",(x))
#define rep(i,j,k) for(int i=j;i<=k;++i)
#define per(i,j,k) for(int i=j;i>=k;--i)
#define mem(a,b) memset(a,b,sizeof(a))
using namespace std;
int t,n,a[maxn],sg[maxn],hash[maxn];
/*vectordivisor(int n)
} return ans;
}int getsg(int n)
for(int j=0;;++j)
}*/int getsg(int n)
int main()
/*for(int i=0;i<100;++i)
*/int ans=0;
rep(i,0,n-1)ans^=getsg(a[i]);
if(ans)puts("fei!");
else puts("hang!");
}return 0;}/*
0:01:1
2:23:1
4:35:1
6:27:1
8:49:1
10:2
11:1
12:3
13:1
14:2
15:1
16:5
17:1
18:2
19:1
20:3
21:1
22:2
23:1
24:4
25:1
26:2
27:1
28:3
29:1
30:2
31:1
32:6
33:1
34:2
35:1
36:3
37:1
38:2
39:1
40:4
*/
安徽科技學院 信網學院網路文化節 劉洪江
import sys import time books 圖書資料 users 預設使用者資料 def menu print 40 print 歡迎來到圖書管理系統 print 40 print 請輸入你想要進行的操作 print 1 註冊新使用者 print 2.使用已註冊的賬號進行登陸 prin...
安徽科技學院 信網學院網路文化節 丁舒
程式設計 針對需求做如下設計 1 資料結構設計 假設學生學分管理程式中的資訊結構是 學號 最多11個數字 姓名 最多7個字元 班級 最多11個字元 typedef struct student 定義學生學分結構 stu 2 模組設計 本任務的主要演算法是一組對學生學分管理的的操作函式,所以 錄入學分...
安徽科技學院 信網學院網路文化節 曹健
include include include int weights 26 char alphabet 26 define length 26 define n 100 typedef struct htnode,huffmantree 哈夫曼節點的型別 typedef char huffmanc...