尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

打卡信奥刷题(3459)用C++实现信奥题 P10492 [ICPC 2003 Aizu R] Weather Forecast

打卡信奥刷题(3459)用C++实现信奥题 P10492 [ICPC 2003 Aizu R] Weather Forecast
📅 发布时间:2026/7/21 8:19:52

P10492 [ICPC 2003 Aizu R] Weather Forecast

题目描述

你是风之神。

通过移动一朵大云,你可以决定天气:云下必定下雨,其他地方阳光普照。

但你是一个仁慈的神:你的目标是给乡间的每个田地带来足够的雨水,给市场和节日带来阳光。小人类用他们贫乏的词汇,只能将这称为“天气预报”。

你负责管理一个名为 Paccimc 的小国家。这个国家由4 × 4 4 \times 44×4的方块区域组成,用它们的编号表示。

你的云的大小为2 × 2 2 \times 22×2,不得越过国家的边界。

给出了一段时间内每个区域的市场和节日的安排。

在该时段的第一天,无论安排如何,在中心区域(6-7-10-11)都会下雨。

在接下来的每一天,你可以将你的云向四个基本方向之一(北、西、南和东)移动1 11或2 22个方格,也可以将其保持在原位。不允许对角线移动。所有移动均发生在一天开始时。

你不应该让一个区域连续一周没有雨水(也就是说,你允许最多连续6 66天没有雨)。你不必在你获得的时间段之外的日子里考虑雨水:也就是说,你可以假设在时间段之前的整个国家都下雨,在它结束后的一天也是如此。

输入格式

输入一个数据集序列,后跟一个仅包含零的终止行。

一个数据集在单独的一行上给出了期间中的天数N NN(不超过365 365365),然后是N NN行,给出了市场和节日的安排。第i ii行给出了第i ii天的安排。它由16 1616个数字组成,要么是0 00要么是1 11,0 00表示正常日,1 11表示市场或节日。数字之间用一个或多个空格分隔。

输出格式

对每个数据集的单行输出,如果你能满足每个人,则输出1 11,否则输出0 00。

【样例解释】

翻译来自于:ChatGPT

输入输出样例 #1

输入 #1

1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0

输出 #1

0 1 0 1

C++实现

#include<bits/stdc++.h>usingnamespacestd;intn,a[405][5][5],f[5][5][405][8][8][8][8];intdx[]={-1,0,-2,0,2,0,1,0,0},dy[]={0,-1,0,-2,0,2,0,1,0};intdfs(intx,inty,intday,intex,intsx,intey,intsy){if(f[x][y][day][ex][sx][ey][sy]!=-1)returnf[x][y][day][ex][sx][ey][sy];for(inti=x;i<=x+1;i++)for(intj=y;j<=y+1;j++)if(a[day][i][j]==1)return0;if(ex>=7||sx>=7||ey>=7||sy>=7)return0;if(day==n)return1;intans=0;for(inti=0;i<9;i++){inttx=x+dx[i],ty=y+dy[i];if(1<=tx&&tx<=3&&1<=ty&&ty<=3){inta,b,c,d;if(tx==1&&ty==1)a=0;elsea=ex+1;if(tx==3&&ty==1)b=0;elseb=sx+1;if(tx==1&&ty==3)c=0;elsec=ey+1;if(tx==3&&ty==3)d=0;elsed=sy+1;ans|=dfs(tx,ty,day+1,a,b,c,d);}}if(f[x][y][day][ex][sx][ey][sy]==-1)f[x][y][day][ex][sx][ey][sy]=ans;returnans;}intmain(){while(1){memset(f,-1,sizeof(f)),cin>>n;if(n==0)break;for(inti=1;i<=n;i++)for(intj=1;j<=4;j++)for(intk=1;k<=4;k++)cin>>a[i][j][k];cout<<dfs(2,2,1,1,1,1,1)<<'\n';}}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

相关新闻

  • C++高性能Remez算法工具箱:从极小化极大原理到工程实现
  • 河北针织服装品控哪家推荐? - 中媒介
  • 爆款结构迁移引擎 — 技术架构与协议文档 上 整体AI架构

最新新闻

  • 真力时中国**售后服务中心|全新热线和维修门店地址**信息公示(2026年7月最新) - 亨得利官方服务中心
  • HTTP状态码详解:从基础概念到实践应用
  • 鸿蒙性能优化全维度实战(启动速度 + 内存治理 + 帧率稳定 + 包体积瘦身)
  • 《飞天大王》预告片技术解析:从拍摄到编码的全流程实践
  • AI视频生成可控性实战:Higgsfield Seedance2.0 4K工作流详解
  • 快充线选购指南:如何识别优质100W快充线材

日新闻

  • AI云原生实战05-金融AI上云最难的不是技术,是“不出事“——TCE银行风控架构拆解
  • 2026年GEOSEO优化公司选型深度测评:五大硬核标准严选,这六家重塑搜索增长新格局 - 品牌前沿专家
  • **核验!2026年7月卡地亚香港**售后网点地址及服务电话公告 - 卡地亚服务中心

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号