tyvj 1968:

我的方法,将SG值打出来,然后就可以看到规律。

具体的想法可以看------>点击打开链接

#include <stdio.h>
#include <string.h>int sg[15][35];
int day[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int getsg(int x, int y)
{if(sg[x][y] != -1)return sg[x][y];bool vis[100];memset(vis, 0, sizeof(vis));if(x < 10 || x == 10 && y <= 4)vis[getsg(x + 1, y)] = 1;if(y != day[x] && x != 12)vis[getsg(x, y + 1)] = 1;elsevis[getsg(x + 1, 1)] = 1;int i;for(i = 0; i < 100; i++)if(vis[i] == 0)break;return sg[x][y] = i;
}int getsg1(int x, int y)
{if(sg[x][y] != -1)return sg[x][y];bool vis[100];memset(vis, 0, sizeof(vis));if(x == 12){if(y != 31)vis[getsg(x, y + 1)] = 1;elsevis[getsg(1, 1)] = 1;vis[getsg(1, y)] = 1;}if(x == 11){if(y != 30)vis[getsg(x, y + 1)] = 1;elsevis[getsg(x + 1, 1)] = 1;vis[getsg(x + 1, y)] = 1;}int i;for(i = 0; i < 100; i++)if(vis[i] == 0)break;return sg[x][y] = i;
}int main (void)
{memset(sg, -1, sizeof(sg));sg[11][4] = 0;sg[11][3] = 1;sg[11][2] = 0;sg[11][1] = 1;int i, j;for(i = 10; i > 0; i--)for(j = day[i]; j > 0; j--)getsg(i, j);for(i = day[12]; i > 0; i--)getsg1(12, i);for(i = day[11]; i >= 5; i--) getsg1(11, i);for(i = 1; i <= 12; i++){printf("%d: ", i);for(j = 1; j <= day[i]; j++){if(sg[i][j] != 0)printf("1 ");elseprintf("0 ");}printf("\n");}return 0;}

打表结果:

1: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
2: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
3: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
4: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
5: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
6: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
7: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
8: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
9: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1
10: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
11: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1
12: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
#include <stdio.h>int main (void)
{int t;scanf("%d", &t);while(t --){int y, m, d;scanf("%d %d %d", &y, &m, &d);if((m + d) % 2 == 0)printf("YES\n");else{if((m == 11 || m == 9) && d == 30)printf("YES\n");else   printf("NO\n");}}return 0;
}

tyvj 1140:

用到了德巴赫猜想:

1.每个不小于6的偶数都可以表示为两个奇素数之和
2.每个不小于9的奇数都可以表示为三个奇素数之和

所以只要输入的是一个偶数,那么它可以通过2步完成,输入的是一个奇数,那么需要3步完成。
但是,有一些需要注意的地方:
1 如果这个数本身就是质数或者1,那么只需要一步
2 如果一个数减去2以后是质数,那么它也只需要2步(只有奇数才会执行)

#include <stdio.h>
#include <limits>int isprime(int x)
{int i;for(i = 2; i * i <= x; i++)if(x % i == 0)return 0;return 1;
}int get(int x)
{if(x <= 2)return 1;if(isprime(x))//是素数 return 1;if(x % 2 == 0)//偶数 return 2;if(isprime(x - 2))//奇数减2是素数 return 2;return 3;//奇数
}int main (void)
{int t;scanf("%d", &t);while(t --){int a, b, c, d;scanf("%d %d", &a, &b);c = get(a);d = get(b);if(a > b){if(c <= d)printf("YES\n");elseprintf("NO\n");}else{if(c < d)printf("YES\n");elseprintf("NO\n");}}return 0;
}

伊甸园日历游戏 飘飘乎居士拯救MM(tyvj 1968 1140)相关推荐

  1. P1512 伊甸园日历游戏

    题目 题目描述 Adam和Eve玩一个游戏,他们先从1900.1.1到2006.11.4这个日期之间随意抽取一个日期出来.然后他们轮流对这个日期进行操作: 1 : 把日期的天数加1,例如1900.1. ...

  2. P1143 飘飘乎居士的约会

    描述 又是美妙的一天,这天飘飘乎居士要和MM约会,因此他打扮的格外帅气.但是,因为打扮的时间花了太久,离约会的时间已经所剩无几. 幸运的是,现在飘飘乎居士得到了一张n*m的地图,图中左上角是飘飘乎居士 ...

  3. Tyvj P1143 飘飘乎居士的约会

    背景 一阵狂风吹过   只听"pong"的一声,飘飘乎居士降落了!!! 描述 又是美妙的一天,这天飘飘乎居士要和MM约会,因此他打扮的格外帅气.但是,因为打扮的时间花了太久,离约会 ...

  4. tyvj 1143 飘飘乎居士的约会 走迷宫(可穿墙一次)

      From VioletHill ☆飘飘乎居士的约会                 背景 Background     一阵狂风吹过 只听"pong"的一声,飘飘乎居士降落了! ...

  5. TYVJ 1288 飘飘乎居士取能量块

    背景 9月21日,pink生日:9月22日,lina生日:9月23日,轮到到飘飘乎居士(狂欢吧,(^__^) 嘻嘻--). 描述 9月21日,今天是pink的生日,飘飘乎居士当然要去别人的领土大闹一番 ...

  6. TYVJ1288 飘飘乎居士取能量块

    描述 9月21日,今天是pink的生日,飘飘乎居士当然要去别人的领土大闹一番啦!   为了收集更多的能量到pink家大闹,飘飘乎居士准备从后花园中取出自己多年积攒的p个能量块.后花园一共被划分n个地区 ...

  7. 拯救ice-cream Tyvj P1117 题解

    依旧还是BFS吧. 如果当前点是草地,则必须把草地先变成道路,拓展后的点与拓展前的点相同,并且时间+1,这样我们就保证了草地这个点经过了 两次,且时间增加了2 program P1117;constd ...

  8. python日历gui_python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例...

    PyQt5日期时间控件QDateTimeEdit介绍 QDateTimeEdit是一个允许用户编辑日期时间的控件,可以使用键盘上的上下键头按钮来增加或减少日期的时间值,QDateTimeEdit通过s ...

  9. 扫雷游戏(模拟算法)

    题目描述 扫雷游戏是一款十分经典的单机小游戏.在nn行mm列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格).玩家翻开一个非地雷格时,该格将会出现一个数字--提示周围格子 ...

  10. 联想拯救者15isk清灰_清灰和升级容易 联想拯救者14拆机解析

    由于消费级笔记本市场的颓靡,不少笔记本厂商开始向游戏笔记本市场发力,全球第一大PC厂商联想也不例外,除了继续推出人气超高的"彪悍的小Y"--Erazer Y40/Y50之外,联想今 ...

最新文章

  1. 常见排序7--基数排序
  2. HTTP/FTP压力测试工具siege
  3. 苏宁大数据离线任务开发调度平台实践:任务调度模块架构设计
  4. 面试官、女朋友都满意系列 - 决策树
  5. Spark学习-SparkSQL--03-SparkSQL CLI 建表查询出问题
  6. 【WPF】在MenuItem中下划线“_”显示不正常
  7. js打开新窗口的方法
  8. Q1营收利润大增,Take-Two如何掘金“次世代”?
  9. 三相电机控制方式入门,看完这一篇就够了
  10. 高德地图驾车导航使用
  11. 2.1HTML网页之table标签B
  12. PHP合并两张(多张)图片
  13. loj #6570. 毛毛虫计数
  14. python里row是什么意思_row python
  15. java集合——Map
  16. appserver安装教程
  17. 更新npm和node
  18. 数据集成的两种架构:ELT和ETL
  19. Openbravo架构分析
  20. Excel 删除筛选出来的行

热门文章

  1. 仿9GAG制作过程(二)
  2. pat2020春季考试7-2 The Judger (25 分) 7-4 Replacement Selection (30 分)
  3. 董文永武汉大学计算机学院,董文永 - 教师简历 CV- Computer School of Wuhan University...
  4. 2018-2019年全球专业服务机器人销售额增长32%,达到112亿美元
  5. 字母组合---排列组合问题
  6. 根据日期获取周数的计算
  7. java小项目之简单聊天室
  8. eclipse豆沙绿设置(一些其他的编辑器也变成豆沙绿)
  9. 北京周边骑行路线总结
  10. 机器学习核心概念完全解析(建议收藏)