未完成, (学习学长的处理年月日的方式)
来源:互联网 发布:淘宝模板设计师赚钱吗 编辑:程序博客网 时间:2024/05/25 01:34
代码不知道哪个细节错了。。、下次再要独立敲
#include<bits/stdc++.h>#define ll long longusing namespace std;const int maxn=10005;int Month[2][13]={ {0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31},};int sumyear[maxn];inline int yeap(int x){ return x%400==0||x%100!=0&&x%4==0;}int cal(int x){ int ret=0; while(x){ ret+=x%10==9; x/=10; } return ret;}void init(){ sumyear[0]=66; for(int i=1;i<=9999;++i){ sumyear[i]=sumyear[i-1]+65+365*cal(i); if(yeap(i))sumyear[i]+=1+cal(i); }}int gao(int Y,int M,int D){ int ret=sumyear[Y-1];int run=yeap(Y);int t=cal(Y); for(int i=1;i<M;++i)ret+=Month[run][i]; ret+=D*t; if(M==9)ret+=D; else if(M>9)ret+=30; ret+=(M-1)*3;if(!run&&M-1>=2)ret--; if(D>=29){ ret+=3;if(M==2&&!run)ret--; } else if(D>=19)ret+=2; else if(D>=9)ret+=1; return ret;}int main(){ int t; scanf("%d",&t); init(); while(t--){ int sy,sm,sd,ey,em,ed; scanf("%d%d%d%d%d%d",&sy,&sm,&sd,&ey,&em,&ed); printf("%d\n",gao(ey,em,ed)-gao(sy,sm,sd)+cal(sy*10000+sm*100+sd)); }}
#include<iostream>#include<string>#include<cstring>#include<algorithm>#include<cstdio>#include<iostream>#include<string>#define bug1 cout<<"bug1"<<endl;using namespace std;#define inf 0x3f3f3f3f#define sf scanf#define pf printf#define mem(a,b) memset(a,b,sizeof(b));const int maxn=10005;int sumyear[maxn];int month[2][13]={ {0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}};inline int yeap(int x){ if(x%400==0||x%4==0&&x%100!=0)return 1; return 0;}inline int single(int x){ int ret=0; while(x){ if(x%10==9)ret++; x/=10; } return ret;}int solve(int y,int m,int d){ int ret=0; ret+=sumyear[y-1]; int run=yeap(y); int singley=single(y); for(int i=1;i<m;++i){ ret+=singley*month[run][i]; ret+=3; } ret+=singley*d; if(m==9)ret+=d; else if(m>9)ret+=30;//改了那么多次,,自己居然没有。。 if(!run&&m>2)ret--; if(d>=29){ ret+=3; if(!run&&m==2)ret--;//这个地方我要注意下。。 } else if(d>=19)ret+=2; else if(d>=9)ret+=1; return ret;}int main(){ int T; sf("%d",&T); sumyear[0]=66;//注意,自己一开始没有实在这里设置。 for(int i=1;i<=9999;++i){ sumyear[i]=sumyear[i-1]+65+365*single(i); if(yeap(i))sumyear[i]+=single(i)+1; } while(T--){ int sy,sm,sd,ey,em,ed; sf("%d%d%d%d%d%d",&sy,&sm,&sd,&ey,&em,&ed); pf("%d\n",solve(ey,em,ed)-solve(sy,sm,sd)+single(sy*10000+sm*100+sd)); }}
0 0
- 未完成, (学习学长的处理年月日的方式)
- Redminebacklogs 处理未完成的story
- 年月日的数据实现方式
- 扩展欧几里得的学习(未完成
- 今天帮学长做的一个文件处理的工具
- 毕业学长的建议
- 学长出的题。。
- 学长的疑惑???
- 学长的训诫C++
- zkc学长的福利
- DropDownList的年月日三联动处理方法
- 一个学长的嵌入式裸机的学习经历------
- 一个学长的嵌入式裸机的学习经历
- 学习muduo(类之间的函数调用,未完成)
- 学习muduo(win平台的实现,未完成)
- 跟zzt学长学习姿势——集合(set)的运用
- 高年级学长给计算机大一学生的学习建议
- LinkButton的自定义(未完成)
- 链表操作之插入数据
- Linux-memo
- 剑指offer-面试题 14:调整数组顺序使奇数位于偶数前面
- Java 8
- 题目1086:最小花费
- 未完成, (学习学长的处理年月日的方式)
- jquery事件绑定
- MySQL (7) 索引基础
- 杭电oj(Java版)——1013 Digital Roots
- Picasso从使用到源码解析
- #python学习笔记#assert
- 西游伏妖篇 Journey to the West: Demon Chapter
- 竖排显示诗歌的一种思路
- 如何搭建量化投资研究系统?(数据篇)