当前位置:网站首页>[sg function] 2021 Niuke winter vacation training camp 6 h. winter messenger 2
[sg function] 2021 Niuke winter vacation training camp 6 h. winter messenger 2
2022-07-03 22:03:00 【HeartFireY】
Portal :H- Winter messenger 2_2022 Niuke winter vacation algorithm basic training camp 6 (nowcoder.com)
Ideas
First, we review the theory of fair combination game P Point and N spot :
- All endpoints are fail points (P-Position)
- From any winning point (N-Position) operation , There is at least one way to enter the fail point (P-Position)
- Whatever you do , You can only enter the winning point from the losing point (N-Position)
Then let's start to analyze this topic :
- Adopt binary enumeration , use 0 0 0 representative b b b, 1 1 1 representative w w w, In this way, all combinations within a certain length can be enumerated .
- For each state , Whether enumeration can enter the mandatory state ( The initial failure state is 0 0 0), If it can, it will be marked as winning .
- For both operations :
- The first grid is white , When you can directly reverse the first lattice : If you flip the first lattice, it will fail , Then mark the current status as winning
- For the rest of the grid , If it can enter any previous failure state after completing the first type of flip , Then mark the current status as a must fail
Then according to the nature of the above two operations , We can write S G SG SG Table function :
int sg[N];
inline void getsg(){
for(int i = 1; i < (1 << 11); i++){
if(i & 1 && !sg[i - 1]){
sg[i] = 1;
continue;
}
for(int j = 1; j < 10; j++){
if(i >> j & 1){
for(int k = 0; k < j; k++)
if(!sg[i ^ (1 << j) ^ (1 << k)]) sg[i] = 1;
}
}
}
}
Then for each input , It only needs to be processed into the form of binary string , Judge S G SG SG The value of the can .
Accepted Code
#include <bits/stdc++.h>
using namespace std;
const int N = 1 << 11 + 10;
int sg[N];
string s;
void print_bin(int n){
int a = n % 2;
n = n >> 1;
if(n) print_bin(n);
std::cout << a;
}
inline void getsg(){
for(int i = 1; i < (1 << 11); i++){
if(i & 1 && !sg[i - 1]){
sg[i] = 1;
continue;
}
for(int j = 1; j < 10; j++){
if(i >> j & 1){
for(int k = 0; k < j; k++)
if(!sg[i ^ (1 << j) ^ (1 << k)]) sg[i] = 1;
}
}
}
}
inline void solve(){
getsg();
int n = 0; cin >> n >> s;
int lastpos = 0;
for(int i = 0; i < n; i++){
if(s[i] == 'w') lastpos = i;
}
int pos = 0;
for(int i = lastpos; i >= 0; i--){
if(s[i] == 'w') pos = pos << 1 | 1;
else pos = pos << 1;
}
//print_bin(pos);
cout << (sg[pos] ? "Yes" : "No") << endl;
}
signed main(){
int t = 0; cin >> t;
while(t--) solve();
return 0;
}
边栏推荐
- China's coal industry investment strategic planning future production and marketing demand forecast report Ⓘ 2022 ~ 2028
- Preliminary understanding of C program design
- Dahua series books
- 内存分析器 (MAT)
- Covariance
- Electronic tube: Literature Research on basic characteristics of 6j1
- Global and Chinese market of recycled yarn 2022-2028: Research Report on technology, participants, trends, market size and share
- 使用dnSpy對無源碼EXE或DLL進行反編譯並且修改
- Is the account opening of Guotai Junan Securities safe and reliable? How to open Guotai Junan Securities Account
- The post-90s resigned and started a business, saying they would kill cloud database
猜你喜欢

2022 electrician (elementary) examination questions and electrician (elementary) registration examination

No matter how hot the metauniverse is, it cannot be separated from data

Exclusive interview with the person in charge of openkruise: to what extent has cloud native application automation developed now?
![[dynamic programming] Ji Suan Ke: Suan tou Jun breaks through the barrier (variant of the longest increasing subsequence)](/img/6c/2d48d441fee1981a271319fd9f6c23.jpg)
[dynamic programming] Ji Suan Ke: Suan tou Jun breaks through the barrier (variant of the longest increasing subsequence)

Compréhension de la technologie gslb (Global Server load balance)

What is the difference between res.send() and res.end() in the node express framework

Yiwen teaches you how to choose your own NFT trading market

Control loop of program (while loop)

Electronic tube: Literature Research on basic characteristics of 6j1

6.0 kernel driver character driver
随机推荐
China's coal industry investment strategic planning future production and marketing demand forecast report Ⓘ 2022 ~ 2028
China's Call Center Industry 14th five year plan direction and operation analysis report Ⓔ 2022 ~ 2028
Solve the problem that openocd fails to burn STM32 and cannot connect through SWD
Conditional statements of shell programming
Kali2021.4a build PWN environment
Development mode and Prospect of China's IT training industry strategic planning trend report Ⓣ 2022 ~ 2028
Code in keil5 -- use the code formatting tool astyle (plug-in)
How PHP drives mongodb
2022 G3 boiler water treatment registration examination and G3 boiler water treatment examination papers
Farmersworld farmers world, no faith, how to talk about success?
2022 safety officer-a certificate registration examination and summary of safety officer-a certificate examination
Collection | pytoch common loss function disassembly
Station B, dark horse programmer, employee management system, access conflict related (there is an unhandled exception at 0x00007ff633a4c54d (in employee management system.Exe): 0xc0000005: read locat
使用dnSpy對無源碼EXE或DLL進行反編譯並且修改
内存分析器 (MAT)
抓包整理外篇——————autoResponder、composer 、statistics [ 三]
On my first day at work, this API timeout optimization put me down!
Market layout planning and latest dynamic analysis report of China's smart public security industry Ⓕ 2022 ~ 2028
Bluebridge cup Guoxin Changtian single chip microcomputer -- detailed explanation of schematic diagram (IV)
MySQL——JDBC