3 条回复
#include<iostream> using namespace std; int main() { int num,n; cin >> num; for (int i = 0; i < num;i++) { cin>>n; int res = 0; for (int j = 0; j < n; j++){ int data; cin >> data; if (data % 8 == 0 && data != 0){ res ^= data - 1; }else { if ((data + 1) % 8 == 0){ res ^= data + 1; } else { res ^= data; } } } cout << (res ? "Star" : "Moon") << endl; } return 0; }
36% 超时 void dfs(vector<int> out, int level){ if (level == n - 1){ num = (num + 1) % 1000000007; return; } int j = 1; if (level != 0){ j = out[level - 1]; } for (; j <= m; j++){ if (m%j == 0){ if (level == 0){ out.push_back(j); dfs(out, level + 1); out.pop_back(); } if (level >= 1 && j%out[level - 1] == 0){ out.push_back(j); dfs(out, level + 1); out.pop_back(); } } } }
添加回复