HDU 1079
来源:互联网 发布:张国荣热门知乎 编辑:程序博客网 时间:2024/05/22 00:23
写模拟什么的最累了,先写到这一个代码雏形贴这儿。
#include <algorithm>#include <bitset>#include <cassert>#include <climits>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include <deque>#include <iomanip>#include <iostream>#include <map>#include <numeric>#include <queue>#include <set>#include <stack>#include <string>using namespace std;typedef long long ll;struct mydate{ int year; int month; int day;}date[40000];int month_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31};int getabsdays (mydate x){ int i; int year = x.year - 1900; int days = year*365+year/4-year/100+year/400; for (i=1;i<=x.month-1;i++) days += month_day[i]; days += x.day-1; return days;}int game[40000];void record (int i){ if (date[i+1].day>1){ date[i].day = date[i+1].day-1; date[i].month = date[i+1].month; date[i].year = date[i+1].year; } else { int m = date[i+1].month; if (m >1){ date[i].year = date[i+1].year; date[i].month = m-1; if (m!= 3){ date[i].day = month_day[m-1]; } else { int y = date[i].year; if (y%4==0 && y%100!=0 || y%400==0){ date[i].day = 29; } else date[i].day = 28; } } else { date[i].year = date[i+1].year-1; date[i].month = 12; date[i].day = 31; } }}int check (int i){ int m= date[i+1].month; int d = date[i].day; int y = date[i].year; mydate dd; if (m!=2){ if (month_day[m]>=d) { dd.year =y; dd.month = m; dd.day = d; return getabsdays (dd); } else return 0; } else { int y = date[i].year; if (y %4==0 && y%100!=0 || y%400==0){ if (29>=d) { dd.year =y; dd.month = m; dd.day = d; return getabsdays (dd); } else return 0; } else { if (28 >=d) { dd.year =y; dd.month = m; dd.day = d; return getabsdays (dd); } else return 0; } }}void init (){ int i; mydate x,x0; x.year = 2001; x.month = 11; x.day = 4; x0.year =1900; x0.month = 1; x0.day = 1; int final = getabsdays (x); int begin = getabsdays(x0); date[final].year= 2001; date[final].month = 11; date[final].day = 4; date[begin].year = 1900; date[begin].month = 1; date[begin].day = 1; game[final] = 0; for (i=final-1;i>=begin;i--){ record (i); if (check(i)){ int t = check(i); if (!game[t]) game[i]=1; else { if (!game[t]) game[i]=1; else game[i] =0; } } else { if (!game[i+1]) game[i]= 1; else game[i]=0; } }}int main(){ int t; scanf ("%d",&t); init (); while (t--){ mydate x; scanf ("%d %d %d",&x.year,&x.month,&x.day); } return 0;} 怂了怂了,可以巧做我还是不要练习写模拟了(咸鱼)
include
阅读全文
0 0
- HDU 1079
- HDU 1079
- HDU 1079 Calendar Game
- hdu 1079 #DP
- HDU 1079 博弈
- HDU 1079 Calendar Game
- hdu 1079(博弈)
- HDU 1079 - Calendar Game
- Hdu 1079 Calendar Game
- hdu-1079 Calendar Game
- HDU-1079-Calendar Game
- HDU 1079 Calendar Game
- HDU 1079 Calendar Game
- hdu 1079 Calendar Game
- HDU 1079 Calendar Game
- HDU-1079(博弈)
- hdu 1079 Calendar Game
- HDU 1079-Calendar Game
- 前行
- 求直线(线段)与直线(线段)的交点
- 淘宝网页价格爬虫
- HttpClient之接口测试
- HashMap和Hashtable的区别
- HDU 1079
- 文件的读写,io流
- 自定义两个shiro过滤器
- command: pybot.bat --argumentfile c:\users\keikei\appdata\local\temp\RIDEama2ym.d\argfile.txt --list
- 前端开发(HTML+CSS静态部分)
- Java中final关键字的使用
- 洛谷 P2679子串
- 1126. Eulerian Path (25)
- hadoop HDFS文件系统的特征