ZOJ3944 People Counting ZOJ3939 The Lucky Week (模拟)
2016-05-12 11:46
531 查看
ZOJ3944 People Counting
ZOJ3939 The Lucky Week
1.PeopleConting
题意:照片上有很多个人,用矩阵里的字符表示。一个人如下:
题解:
先弄个常量把3*3人形存起来,然后6个部位依次找,比如现在找头,找到一个头,就把这个人删掉(找这个人的各个部位,如果在该部位位置的不是这个人的身体,就不删),删成句号,疯狂找就行了。
代码:
View Code
ZOJ3939 The Lucky Week
1.PeopleConting
题意:照片上有很多个人,用矩阵里的字符表示。一个人如下:
.O. /|\ (.)
占3*3格子,句号“.”为背景。没有两个人完全重合。有的人被挡住了一部分。问照片上有几个人。
题解:
先弄个常量把3*3人形存起来,然后6个部位依次找,比如现在找头,找到一个头,就把这个人删掉(找这个人的各个部位,如果在该部位位置的不是这个人的身体,就不删),删成句号,疯狂找就行了。
代码:
#include<iostream> #include<cstdio> #include<cstring> const int md[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; int Y,M,D,n; inline bool isRun(const int &year) { return (year%4==0 && year%100!=0) || (year%400==0); } int getDays(int year,int month) { if(month!=2)return md[month-1]; if(isRun(year))return 29; else return 28; } void beNextMonth(int &y,int &m,int &d,int &we) { int days = getDays(y,m); int cha = days + 1 - d; m++; if(m>12) { y++; m=1; } d=1; we = (we+cha)%7; } int daBiao() { int y=2016, m=4, d=11; int we=0; int edy=2417,edm=1; int sum=0; while(!(y==edy && m==edm)) { for(int i=0; i<=20; i+=10) if((we+i)%7==0) { if(y>=2017)sum++; // if(y==2016 || y==2416)printf("%d-%d-%d\n",y,m,d+i); } beNextMonth(y,m,d,we); } printf("%d!/n",sum); } void farm(int &yy,int &mm,int &dd) { int edy=Y+400; int edm=M; int sum=0; int y=Y,m=M,d=D,we=0; while(true) { for(int i=0; i<=20; i+=10) if((we+i)%7==0) { sum++; if(sum==n) { yy=y; mm=m; dd=d+i; return; } } beNextMonth(y,m,d,we); if(y==edy && m==edm)break; } n-=sum; if(n>sum) { int t = n/sum; n-=t*sum; y+=t*400; } sum=0; while(true) { for(int i=0; i<=20; i+=10) if((we+i)%7==0) { sum++; if(sum==n) { yy=y; mm=m; dd=d+i; return; } } beNextMonth(y,m,d,we); if(y==edy && m==edm)break; } } int main() { int T,i,j; // daBiao(); // return 0; scanf("%d",&T); while(T--) { scanf("%d%d%d%d",&Y,&M,&D,&n); int y,m,d; farm(y,m,d); printf("%d %d %d\n",y,m,d); } }
View Code
相关文章推荐
- GIT简介以及在Centos上的安装
- Linux(一)
- linux系统调用原理
- Centos配置国内yum源
- Linux中常用操作命令
- Linux常用命令
- Centos7 创建个文件 thread 怪现象
- linux shell 提取变量 变量传参
- pc机安装centos6.5,提示sda必须有一个GPT磁盘标签处理
- linux中Framebuffer的原理及实现机制
- linux dup/dup2
- 1.Linux基础权限
- log4j.properties 使用方法总结
- Linux定时任务Crontab详解
- linux pipe 函数( int pipe(int filedes[2]))
- RPC(linux)报错 Cannot register service RPC
- zabbix监控nginx
- linux挂载硬盘方法
- apache 的工作模式
- 如何实现基于框架的书籍交易网站的质量属性