题目:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=115189#problem/C

代码:

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;typedef long long ll;
const int N=100005;
const int Max=1753+2800;
//返回指定日期是星期几int yy[N],mm[N],dd[N];
int id[10005][20][50];//模板 计算日期是星期几 返回0~6 代表星期7 1~6
int weekday(int y,int m,int d)
{int tm=m>=3?(m-2):(m+10);int ty=m>=3?y:(y-1);return (ty+ty/4-ty/100+ty/400+(int)(2.6*tm-0.2)+d)%7;
}int main()
{int leap;int c=0;for(int i=1753; i<Max; i++){for(int j=1; j<=12; j++){if(weekday(i,j,1)==1){yy[c]=i;mm[c]=j;dd[c]=1;id[i][j][1]=c++;}if(weekday(i,j,11)==1){yy[c]=i;mm[c]=j;dd[c]=11;id[i][j][11]=c++;}if(weekday(i,j,21)==1){yy[c]=i;mm[c]=j;dd[c]=21;id[i][j][21]=c++;}}}int t;cin>>t;while(t--){int Y,M,D,n;cin>>Y>>M>>D>>n;int y=Y;while(y>=Max){y-=2800;}int idd=id[y][M][D];// cout<<idd<<endl;int nn=(idd+n-1)%c;//cout<<yy[nn]<<endl;int m=mm[nn],d=dd[nn];//cout<<Y<<endl;int yyy=Y+(idd+n-1)/c*2800+(yy[nn]-y);//printf("%d\n",1ll*Y+1ll*(idd+n-1)/c*2800+1ll*(yy[nn]-y));cout<<yyy<<" "<<m<<" "<<d<<endl;}
}

网上的代码,直接抄的。那个是        一LL     。还以为是一百一十一。

WA代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>using namespace std;int a[100000];
int b[100000];
int c[100000];int main()
{//freopen("B.out.txt","w",stdout);int i=0;int ans=0;for(int year=1753; year<=1753+800; year++){for(int month=1; month<=12; month++){for(int day=1; day<=21; day=day+10){int d=day;int m=month;int y=year;if(m==1){y=y-1;m=m+12;}if(m==2){y=y-1;m=m+12;}if(  (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) % 7==0){i++;a[i]=year;b[i]=month;c[i]=day;ans++;}}}}//printf("%d\n",ans);//printf("%d %d %d\n",a[1357],b[1357],c[1357]);int t;scanf("%d",&t);while(t--){int q,w,e,r;scanf("%d%d%d%d",&q,&w,&e,&r);int temp=(q-1753)%400+1753;for(int i=1; i<=2058; i++){if(a[i]==temp){if(b[i]==w){if(c[i]==e){int t;if(((i+r)%2058)-1==0)             //每400年 2058一个周期{t=2058;}else if(((i+r)%2058)-1==-1){t=2057;}elset=((i+r)%2058)-1;int k;if(r%2058==0)k=r/2058-1;elsek=r/2058;//printf("%d %d\n",i+r,t);printf("%d %d %d\n",1753+(k)*400+a[t]-1753,b[t],c[t]);break;}}}}}
}

代码实现能力不强,会做也A不掉。

CAI   呀。

ZOJ 3939 The Lucky Week (打表预处理/找规律)相关推荐

  1. 【打表找循环节】ZOJ - 3939 The Lucky Week

    Step1 Problem: 幸运日指,星期一是1 or 11 or 21号.给出第一个幸运日时间,问第n个幸运日的时间. 例如: 2016 4 11 2 输出: 2016 7 11 数据范围: 时间 ...

  2. ZOJ - 3939 The Lucky Week【简单方法】

    题目 传送门 Sample Input 2 2016 4 11 2 2016 1 11 10 Sample Output 2016 7 11 2017 9 11 题意:t组数据,给出四个数,x,y,z ...

  3. P1014Cantor表(找规律)

    传送门 题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 , 1/2 , 1/3 , 1/4, 1/5, - 2/1, 2 ...

  4. 搜索打表大找规律 (hdu2045)

    不容易系列之(3)-- LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  5. 【NOIP1999】【codevs1083】Cantor表(找规律)

    problem solution codes #include<iostream> using namespace std; int main(){int n, k=1; cin>& ...

  6. poj1019(打表预处理+数学)

    题目链接:http://poj.org/problem?id=1019 题意:对于序列1121231234...,求第i个数字(i<=2147483647). 思路:记第一组为1,第二组为12, ...

  7. 398. 随机数索引(哈希表预处理 Or 蓄水池抽样)

    文章目录 Question Ideas 1.Answer( Java ) `⚡️ getOrDefault(Object key, V defaultValue)` Code①( HashMap 实现 ...

  8. 【计蒜客 - 2019南昌邀请赛网络赛 - K】MORE XOR(数学,找规律,打表)

    Given a sequence of nn numbers a_1, a_2, \cdots, a_na1​,a2​,⋯,an​ and three functions. Define a func ...

  9. hdu_5894_hannnnah_j’s Biological Test(打表找规律)

    题目链接:hdu_5894_hannnnah_j's Biological Test 题意: 有n个不同的位置围成一个圈,现在要安排m个人坐,每个人至少的间隔为k,问有多少种安排 题解: 先打表找规律 ...

最新文章

  1. linux i2c子系统看不懂啊,Linux 下的I2C子系统
  2. python操作csv文件
  3. 开源:分享10 个让你笑的合不拢嘴的 GitHub 项目!
  4. IDC:第一季度全球服务器市场收入下滑4.6% 市场为重大升级做准备
  5. 项目总结-vue分页组件集成
  6. mybatis的详解
  7. 开课吧Java课堂之SortedSet接口如何去用?
  8. Win10开机免UAC自启动锐捷客户端
  9. leetcode 927. 三等分
  10. css3D旋转立方体
  11. 根据指定的经纬度查询半径为5km的地点
  12. CSS基础--美化视觉效果
  13. 【机器学习】数据驱动方法在电网稳定分析应用浅谈
  14. 【Programe.VIM学习】
  15. 京东撸货--网上几百元的教程怎样辨别真假?不要被割韭菜
  16. linux怎么查看当前系统版本号,如何查看当前系统版本的版本号
  17. 我的世界如何增加小游戏服务器,我的世界服务器小游戏怎么玩 骨灰玩家手把手教学...
  18. linux 创建子进程,linux中fork同时创建多个子进程的方法(一)
  19. docker容器杀不死_了解如何停止,杀死和清理Docker容器
  20. 新手练习2:人物模型多边形建模流程图解

热门文章

  1. 计算机网络--TCP、UDP相关概念
  2. 需求:缔造伟大商业传奇的根本力量
  3. java-net-php-python-jsp宠物销售管理系统演示录像2019查重PPT计算机毕业设计程序
  4. 惠普xd301服务器装win7系统蓝屏,hp笔记本装win7蓝屏 0X0000007B解决方法分享
  5. java JDBC连接数据库步骤及代码
  6. poi 升级到 5.2.2 修改内容:
  7. 2022年湖南省中医助理医师考试考前模拟题
  8. type ‘_Map<String, dynamic>‘ is not a subtype of type ‘Map<String, Object>‘
  9. MySQL 错误记录 请ctrl+f查找
  10. labview学习-for循环、while循环、循环自动索引、移位寄存器