金马校赛丢史蒂芬妮

题目: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;
}

时间: 2025-01-06 21:56:52

金马校赛丢史蒂芬妮的相关文章

shuoj 418 丢史蒂芬妮(素数筛+sg函数)

丢史蒂芬妮 代码: #include<bits/stdc++.h> using namespace std; const int N=500+5; int SG[N][N]; bool S[N]; vector<int>prime; bool not_prime[N]; void get_SG(int n) { memset(SG,0,sizeof(SG)); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { memset(

3星|丹尼尔&#183;平克《时机管理》:作者不是《思考快与慢》的丹尼尔&#183;卡尼曼,也不是《心智探奇》的史蒂芬&#183;平克

时机管理:完美时机的隐秘模式 (湛庐文化·财富汇) 作者丹尼尔·平克名字极易跟以下两位知名作家混淆:<思考快与慢>作者丹尼尔·卡尼曼.<心智探奇><人性中的善良天使>作者史蒂芬·平克. 我看作者的<驱动力>的时候就以为是丹尼尔·卡尼曼的书,还诧异有失水准.这本书一直到看了一部分才意识到误会了或者说被误导了. 如果把丹尼尔·卡尼曼或史蒂芬·平克归入一流作者的话,这位丹尼尔·平克大概是二三流水平. 作者是畅销书作家,写作方法我感觉是找到一个热门话题,寻找相关材料

“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛 B

<神无月>作为盛大游戏2017年的全新原创大作,其开发团队在自研实力强大的传世工作室基础之上,还有美树本晴彦等日本一线知名画师及日本游戏音乐大师崎元仁加盟参与制作.目前正在不限号内测中,有很多玩家进入到神无月的世界中. 在神无月中,有着玩家之间切磋的排位赛,其段位主要分为五大段位,从低到高依次为:新兵.菁英.战将.统帅.王者.每个玩家只有从新兵段位慢慢努力,一点点晋级才能到达王者段位.成为一个王者是每一个玩家的追求和心愿. 假设神无月的段位系统如下: 从低到高的段位依次简记为:D.C.B.A.

史蒂芬霍金手机壳是的回答是

 http://search.yhd.com/c0-0/k%25E8%2590%258D%25E4%25B9%25A1%25E5%2593%25AA%25E4%25B8%25AA%25E9%2585%2592%25E5%25BA%2597%25E5%258F%25AF%25E4%25BB%25A5%25E5%2581%259A%25E5%2585%25A8%25E5%25A5%2597%25E6%259C%258D%25E5%258A%25A1%25E5%25B0%258F%25E5%25A

可适当降分hiweuk史蒂芬霍金撒的谎放开

d.dxy.cn/preview/8146976d.dxy.cn/preview/8146975d.dxy.cn/preview/8146974d.dxy.cn/preview/8146973d.dxy.cn/preview/8146972d.dxy.cn/preview/8146971d.dxy.cn/preview/8146969d.dxy.cn/preview/8146967d.dxy.cn/preview/8146970d.dxy.cn/preview/8146968d.dxy.cn/p

向史蒂芬.霍金博士致敬!

原文地址:http://blog.51cto.com/suifu/2086902

2018上海高校金马五校赛训练日志

solve  5(A  E  F  I  L) rank  77 水题总体没有很卡,但提升的题都没有思路,实力差距还是有的. 个人感觉出了的题都是铜牌及以下的难度. A Wasserstein Distance <qj> 思路: 已知两堆的值,我求出它们的差,如果是正数,说明原始堆要挪走一部分:否则,则要从别的堆移一部分过来. 不难证明,为了使花费最小,直接从左到右扫一遍便可,这样一定最优. 两个优先队列,存下标和差值.扫一遍就过了. B 合约数 C 序列变换 D  数字游戏 E  小Y吃苹果

埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 B合约数

链接:https://www.nowcoder.com/acm/contest/91/B来源:牛客网牛客网没有账号的同学,请用这个注册,支持楼主,谢谢. 题目描述 给定一棵n个节点的树,并且根节点的编号为p,第i个节点有属性值vali, 定义F(i): 在以i为根的子树中,属性值是vali的合约数的节点个数.y 是 x 的合约数是指 y 是合数且 y 是 x 的约数.小埃想知道对1000000007取模后的结果. 输入描述: 输入测试组数T,每组数据,输入n+1行整数,第一行为n和p,1<=n<

我的第一场比赛——金马五校赛

这场比赛在东华大学举办,基于我上次普及组初赛没有过(本人过于蒟蒻),这算是我的第一场正式线下比赛. 我们学校信息组总共有九个人报名参加,我是其中第八名,但是在整场比赛中大约五五开. 以下是我的比赛心得: 这次比赛是在是发挥失常了.热身赛的时候排名还不错,三十几名,但是到了正式比赛就不行了.这场考试共十二道题目只做出2道. 第一题应该是很水的,但是我少考虑了一个条件,查了将近两个小时后才发现错误. 第二道和最后一道题目都可以用暴力做,但是也不知道为什么就是不让我过. 第六道题目是做的最快的题目,用