当前位置: 首页 > news >正文

题解:P10257 [COCI 2023/2024 #5] Zlagalica

远古时期做的题了没想到竟然能写题解。

思路

模拟。其实题面已经把思路给出来了,强行覆盖即可。
这里只讲几个需要注意的点。

  1. 因为没有限制高度,所以把初始点放在最中间(旁边也可以),输出的时候像四周找就可以了。
  2. 拼的时候四个角的坐标别算错了。
  3. 因为 \(1\),所以数组要开大一点。
点击查看代码
#include<iostream>
using namespace std;
char ans[5005][5005];
int n , x[25] , ll = 0x3f3f3f3f , lr , hr , leftx , lefty;
struct node{char c;int r , s , u , d;
}cnt[25] , a[25];
int main(){
//	freopen("a.in","r",stdin);
//	freopen("a.out","w",stdout);ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin >> n;for(int i=1;i<=n;i++)cin >> cnt[i].c >> cnt[i].r >> cnt[i].s >> cnt[i].u >> cnt[i].d;for(int i=1;i<=n;i++)cin >> x[i];for(int i=1;i<=n;i++)a[i] = cnt[x[i]];for(int i=1;i<=a[1].r;i++){for(int j=1;j<=a[1].s;j++)ans[i+1000][j] = a[1].c , ll = min(ll,i+1000) , lr = max(lr,i+1000) , hr = max(hr,j);}leftx = a[1].r + 1000 , lefty = 1;for(int i=2;i<=n;i++){if(a[i-1].u==0){int x = leftx - a[i-1].r , y = lefty + a[i-1].d - 1;for(int xx=x-a[i].r+1;xx<=x;xx++){for(int yy=y;yy<=y+a[i].s-1;yy++){ans[xx][yy] = a[i].c , ll = min(ll,xx) , lr = max(lr,xx) , hr = max(hr,yy);}}leftx = x , lefty = y;}else{int x = leftx - a[i-1].r + a[i-1].d , y = lefty + a[i-1].s;for(int xx=x-a[i].r+1;xx<=x;xx++){for(int yy=y;yy<=y+a[i].s-1;yy++){ans[xx][yy] = a[i].c , ll = min(ll,xx) , lr = max(lr,xx) , hr = max(hr,yy);}}leftx = x , lefty = y;}}cout << lr - ll + 1 << " " << hr << "\n";for(int i=ll;i<=lr;i++){for(int j=1;j<=hr;j++){if(ans[i][j]>='a'&&ans[i][j]<='z')cout << ans[i][j];else cout << ".";}cout << "\n";}return 0;
}
http://www.hskmm.com/?act=detail&tid=37059

相关文章:

  • CRM的终结与重生:基于SOP的一体化企业协同新范式
  • AI代码辅助工具标准使用场景
  • 2025年10月北京GEO优化公司推荐:主流公司列表评测指南
  • 2025年10月北京geo优化公司推荐:排行榜与避坑指南
  • 线性DP
  • Qt/C++实现无人机监控系统/航点实时监控系统/集群地面站管理平台/飞行轨迹规划和模拟
  • 【GitHub每日速递 251023】46.1k star, 1.2B参数逆袭!MinerU2.5成最牛文档解析多模态大模型
  • 我在政和一中的求学岁月(1993-1997)
  • 互测记录
  • Python随笔(第一周)
  • 读AI赋能07基准测试
  • 微软七月补丁日修复130个漏洞,重点关注RRAS与Office安全更新
  • 比特币闪电网络开源项目
  • 图像分割- sam2 版本 - MKT
  • tryhackme-网络安全基础-AD基础- Active Directory 基础知识-20
  • tryhackme-网络安全基础-命令行- windows命令行-21
  • 图像分割和目标跟踪 - MKT
  • tryhackme-网络安全基础-开启您的网络安全之旅- 搜索技巧-19
  • ESP32 + INMP441数字麦克风 可以做哪些有趣的应用
  • Solon v3.4.7, v3.5.6, v3.6.1 发布(国产优秀应用开发框架)
  • tryhackme-预安全-windows基础-windows 基础知识3-18
  • 从生产到出库:医疗器械行业SAP B1MES质量追溯闭环方案
  • CF1430C Numbers on Whiteboard
  • SAP实施专家指南:SAP B1 如何优化成本与缩短项目周期?
  • tryhackme-预安全-windows基础-windows 基础知识2-17
  • CF1248A Integer Points
  • 10.23
  • 高级程序语言设计第二次作业
  • MIT6.824-MapReduce
  • 直流电机编码器测速