• 金马校赛丢史蒂芬妮


    题目:http://acmoj.shu.edu.cn/problem/418/

    素数筛一边,二维sg先预处理出sg值,然后O(1)查询

    1. 如果一个点能够走到必败点,那它就是必胜点
    2. 如果一个点走不到必败点,只能走到必胜点,这个点就是必败点

    1必胜,2必败

    #include<map>
    #include<set>
    #include<cmath>
    #include<queue>
    #include<stack>
    #include<vector>
    #include<cstdio>
    #include<cassert>
    #include<iomanip>
    #include<cstdlib>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #define pi acos(-1)
    #define ll long long
    #define mod 1000000007
    #define ls l,m,rt<<1
    #define rs m+1,r,rt<<1|1
    #pragma comment(linker, "/STACK:1024000000,1024000000")
    
    using namespace std;
    
    const double g=10.0,eps=1e-9;
    const int N=10000+10,maxn=500+100,inf=0x3f3f3f;
    
    bool vis[N];
    int prime[N],cnt,sg[maxn][maxn];
    void getprime()
    {
        cnt=0;
        memset(vis,1,sizeof vis);
        for(int i=2;i<N;i++)
        {
            if(vis[i])
            {
                prime[cnt++]=i;
                for(int j=2*i;j<N;j+=i)
                    vis[j]=0;
            }
        }
    }
    void getsg(int n)
    {
        memset(sg,0,sizeof sg);
        sg[1][1]=2;
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                if(sg[i][j]==0)sg[i][j]=2;
                if(sg[i][j]==2)
                {
                    for(int k=0;;k++)
                    {
                        int nx=prime[k]+i,ny=prime[k]+j;
                        if(nx>n&&ny>n)break;
                        if(nx<=n)sg[nx][j]=1;
                        if(ny<=n)sg[i][ny]=1;
                        if(nx<=n&&ny<=n)sg[nx][ny]=1;
                    }
                }
            }
        }
    }
    int main()
    {
        ios::sync_with_stdio(false);
        cin.tie(0);
        getprime();
        getsg(500);
        int t,n,m;
        cin>>t;
        while(t--){
            cin>>n>>m;
            if(sg[n][m]==1)cout<<"Sora"<<endl;
            else cout<<"Shiro"<<endl;
        }
        return 0;
    }
    View Code
  • 相关阅读:
    iOS NSUserDefaults 存储可变数组问题
    iOS之[文件下载 / 大文件下载 / 断点下载]
    macOS 新手开发:第 2 部分
    iOS 游戏素材
    iOS 动画
    macOS 开发
    iOS 之访问权限以及跳转到系统界面
    蓝桥杯—ALGO-18 单词接龙(DFS)
    蓝桥杯—ALGO-12 幂方分解(递归递推)
    蓝桥杯—ALGO-131 Beaver's Calculator
  • 原文地址:https://www.cnblogs.com/acjiumeng/p/7150036.html
Copyright © 2020-2023  润新知