2010年山东省第一届ACM大学生程序设计竞赛——Fairy tale

LVGL core disp显示设计(lv_disp.c) lv_disp.c当前显示页面的配置scr_act在原始的LVGL是以screen的概念存在,但我们还是习惯叫它为一个页面提供获取top_layer、sys_layer、prev_scr图层接口配置主题管理默认的主题管理是递归查找的,实际项目中因此页面的复杂性,虽然也兼容了此主题管理的方案,但还是推荐使用单页面自行管理主题的方案壁纸设置多页面切换的动画支持计算无用户操作时间清理显示缓存。 阅读详情

题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2156

Fairy tale

题目大意:

人可以动,宝藏也可以动,相当于一个追击问题,不过,人每秒可以走两步:1.按照地图来走(如果超出地图的范围,则可以不移动),2.按照自己的意愿来走(选取距离宝藏近的方向移动),宝藏只能按照地图来走。如果人走的时间小于等于100,到达宝藏的位置,输出时间即可,但如果陷于循环内,则输出陷入循环,如果走的时间超过100,还没到达宝藏的位置,即输出结果不确定。

由于地图是不断变化的,但是是有周期性的变化,所以可以按照其周期性得知某时刻地图。然后模拟其追击过程即可。因为走的时间不到100,所以每走一步,记录人的位置以及宝藏的位置,如果某一时刻人的位置和宝藏的位置与以前的一样,并且此时地图变化的时刻也一样,即证明已经陷入死循环内了。代码如下:

#include<iostream>
#include<cstdio>
using namespace std;

int maze[35][35];
int dy1[]={1,-1,0,0},dx1[]={0,0,1,-1};//地图的移动
int dy2[]={1,-1,0,0},dx2[]={0,0,-1,1};//喜好的选择
int n,t,t_x,t_y;//t_x,t_y代表宝藏的位置
int flag;   //判断是否循环

struct node
{
    int px,py,tx,ty,t;
}no[110];

bool outmap(int x,int y)
{
    if(x<0||y<0||x>=n||y>=n)
        return true;
    return false;
}

bool better(int x,int y,int xx,int yy)
{
    return (x-t_x)*(x-t_x)+(y-t_y)*(y-t_y)<(xx-t_x)*(xx-t_x)+(yy-t_y)*(yy-t_y);
}

bool check(int x,int y)    //是否形成环
{
    int i=0;
    for(i=0;i<t;i++)
        if(no[i].px==x&&no[i].py==y&&no[i].tx==t_x&&no[i].ty==t_y&&no[i].t==t%4)
        {
            flag=1;
            return true;
        }
    no[i].px=x,no[i].py=y,no[i].tx=t_x,no[i].ty=t_y,no[i].t=t%4;
    return false;
}

void dfs(int x,int y)
{
    if(x==t_x&&y==t_y||t>100)
        return ;
    if(check(x,y))
        return ;
    int tmp1=(maze[x][y]+t)%4,tmp2=(maze[t_x][t_y]+t)%4;
    int i,xx,yy,ttx,tty;
    xx=x+dx1[tmp1];
    yy=y+dy1[tmp1];
    if(!outmap(xx,yy))
        x=xx,y=yy;
    xx=x;yy=y;
    //printf("%d %d\n",x,y);
    for(i=0;i<4;i++)
    {
        if(!outmap(x+dx2[i],y+dy2[i]))
            if(better(x+dx2[i],y+dy2[i],xx,yy))
            {
                xx=x+dx2[i];
                yy=y+dy2[i];
            }
    }
    x=xx;y=yy;
    //printf("%d %d\n\n",x,y);
    ttx=t_x+dx1[tmp2];
    tty=t_y+dy1[tmp2];
    if(!outmap(ttx,tty))
        t_x=ttx,t_y=tty;
    //printf("%d %d\n\n",t_x,t_y);
    t++;
    dfs(x,y);
}

int main()
{
    int tt=1;
    while(scanf("%d",&n),n)
    {
        int i,j;
        char c;
        getchar();
        for(i=0;i<n;i++)
        {
            for(j=0;j<n;j++)
            {
                scanf("%c",&c);
                if(c=='E')
                    maze[i][j]=0;
                else if(c=='W')
                    maze[i][j]=1;
                else if(c=='S')
                    maze[i][j]=2;
                else
                    maze[i][j]=3;
            }
            getchar();
        }
        t_x=n-1;t_y=n-1;
        t=0;
        dfs(0,0);
        printf("Case %d:\n",tt++);
        if(t<=100)
        {
            if(flag)
                printf("Impossible. At step %d.\n",t);
            else
                printf("Get the treasure! At step %d.\n",t);
        }
        else
            printf("Not sure.\n");
        printf("\n");
    }
    return 0;
}


PrimeTime low power-SMVA分析(4) 这些功能只有在将timing_enable_cross_voltage_domain_analysis变量设置为true时才能使用。DVFS场景与在分布式多场景分析(DMSA)中分析的运行条件场景无关。- check_timing 和 report_exceptions 命令通过将检查或报告应用于所有可能的场景和电压组合来支持SMVA。- 相位锁定环生成的时钟(create_generated_clock -pll_feedback 和 -pll_output)在多个场景的情况下,返回最差情况的值。 阅读详情

相关推荐

遥感SCI期刊模板下载教程———IEEE TGRS、GRSL、JSTARS

IEEE下的期刊模板下载,以IEEE TGRS 为例。

海淀小天的blog 2万+

[2010山东省第一届ACM大学生程序设计竞赛]——Fairy tale

[2010山东省第一届ACM大学生程序设计竞赛] 模拟 Fairy tale

继续激情,继续奋斗。 2226

ISP工程师实战笔记:5种Demosaic算法优缺点对比(含Hamilton/DFPD代码片段)

本文从ISP工程师实战角度,深入对比了五种经典Demosaic算法的优缺点。文章详细剖析了双线性插值、Hamilton、DFPD、DLMMSE和GBTF等算法的核心思想、实现差异与性能表现,并提供了Hamilton和DFPD算法的关键代码片段。重点探讨了在图像信号处理流水线中,如何根据画质、计算复杂度和功耗等工程约束进行算法选型与权衡。

weixin_42527589的博客 248

hznu 1436 Fairy tale(模拟,变化的地图找宝藏)

It is said that in a school’s underground, there is a huge treasure which can meet any desire of the owner. The Spy Union (SU) is very interest in this legend. After much investigation, SU finally

芒果街上的小屋(此博客暂时停用) 739

嵌入式系统实战:DroneCAN协议栈移植与避坑指南

本文详细介绍了在嵌入式系统中移植DroneCAN协议栈的完整流程与实战技巧。内容涵盖移植前的准备工作、内存管理优化、CRC校验实现、多帧数据处理及硬件平台适配等关键环节,并以STM32F4为例提供了具体的移植步骤和避坑指南,帮助开发者高效完成DroneCAN在嵌入式设备上的集成与应用。

solidity8miner的博客 547

深入解析经典蓝牙连接:从HCI命令到LMP协议的完整流程

本文深入解析经典蓝牙连接的完整流程,从设备发现、寻呼建立物理链路,到安全配对与加密的每一步。通过对照HCI LOG与AIR LOG,详细拆解了HCI命令与LMP协议报文的对应关系,帮助开发者精准定位连接问题,掌握蓝牙调试的核心方法。

weixin_29260291的博客 449

2010年山东省第一届ACM大学生程序设计竞赛——Clockwise

题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2153 Clockwise 只要理解题目意思,即可敲出正确代码。 题目大意为:给你n个点,让你求出任意一个向量,顺时针旋转180(不能到达180),如果可以达到其余n-2个点,就输出‘C’,逆时针旋转180,如果可以到达n-2个

piaocoder 768

YOLOv13全网首发:CVPR2026 MixerCSeg | DEGConv方向引导边缘门控,破解细长裂缝检测难题

DEGConv通过方向先验嵌入、边缘增强卷积和动态门控三大机制,针对性解决了YOLO在处理裂缝类细长、多方向、低对比度目标时的特征提取不足问题,显著提升了裂缝检测的精度与鲁棒性。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 438

sdut 2158:Hello World!(第一届山东省省赛原题,水题,穷举)

Hello World! Time Limit: 1000MS Memory limit: 65536K 题目描述 We know that Ivan gives Saya three problems to solve (Problem F), and this is the first problem.“We need a programmer to help us for ...

weixin_33847182的博客 191

用业务语义织就企业数据之网:SAP Datasphere 的定位、架构与落地场景全解析

SAP Datasphere作为SAP业务数据云的核心组件,通过语义层整合企业内外部数据,支持实时分析与AI应用。其核心功能包括数据集成、语义建模、虚拟化与仓库能力,通过Spaces实现资源隔离,Data Builder和Business Builder分别面向技术和业务建模。该平台与SAP HANA Cloud、SAC等深度集成,支持财务统一分析、供应链可视化等典型场景,并可通过BW bridge实现传统BW资产云化迁移。Datasphere强调开放互联,能与Databricks等生态伙伴协同,为企业提供

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1361

终于找到了!Ubuntu 虚拟机卡死的终极解决方案(如何解决VMware安装Ubuntu24.04桌面进不去、黑屏、虚拟机卡死、显示不全、屏幕闪烁等问题)

终于找到了!Ubuntu 虚拟机卡死的终极解决方案(如何解决VMware安装Ubuntu24.04桌面进不去、黑屏、虚拟机卡死、显示不全、屏幕闪烁等问题)

XiaoqiangClub的博客 1万+

山东省第一届ACM省赛 Fairy tale(模拟)

Problem DescriptionIt is said that in a school’s underground, there is a huge treasure which can meet any desire of the owner. The Spy Union (SU) is very interest in this legend. After much investigati

so_so_y的博客 756

YOLOv11改进策略【Neck】| arXiv 2025 分层多头注意力HMHA 子空间拆分提多样 + 通道重排降冗余,强化目标检测精度

HMHA(Hierarchical Multi-Head Attention,分层多头注意力)旨在解决传统多头注意力(MHA)在图像恢复任务中的核心缺陷——特征冗余。传统MHA将通道均匀拆分给各个头,导致不同头学习的子空间信息相似,进而出现多头关注同一区域、忽略退化区域修复的问题,限制了模型的特征表达能力。HMHA通过“分层子空间拆分+通道重排序”策略,让每个头学习差异化、互补的上下文特征,从根源上缓解冗余,提升图像恢复任务中对复杂退化场景的特征捕捉能力。

Limiiiing的博客 778

山东省第一届ACM大学生程序设计竞赛 Fairy tale 大模拟

Fairy tale Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 It is said that in a school’s underground, there is a huge treasure which can meet any desire of the owner.

MY Blog 732

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

2019年第十届“浪潮杯”山东省大学生ACM程序设计竞赛--解题报告

目录 A、 calandar B、Flipping Game C、Wandering Robot D、Game on a Graph E、BaoBao Loves Reading F、Stones in the Bucket G、Heap, H、Tokens on the Segments I、Connected Intervals J 、riangle City K、Ha...

AAAAAAAC的博客 2189

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

2010年山东省第一届ACM大学生程序设计竞赛——Emergency

题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2155 Emergency 题目大意: 给你一个有向图,然后给你q个操作,0代表城堡(点)被占领,(未被占领时,其他点是不能经过该点的,只有被占领了,才能经过该点),如果城堡已经被占领,就输出该城堡被占领,1代表输出x和y的最短

piaocoder 505

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

[2010山东省第一届ACM大学生程序设计竞赛]——Phone Number

[2010山东省第一届ACM大学生程序设计竞赛] Phone Number

继续激情,继续奋斗。 2250

山东省第一届ACM大学生程序设计竞赛(原题) 回顾 4.18

Phone Number 题目链接:http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2151&cid=1172 题意很简单:给出N行电话号码,寻找有没有一串是另一串的前缀,有的话输出No,当然两个一样的也是No 题解:没有前缀0,直接用二维数组存,大循环就行了,用strcmp比较相等。不会超时。 Hello World!     题

Dosth_Magic 1240

2018山东省ACM大学生程序设计竞赛B.Bullet

BulletTime Limit: 1000 msMemory Limit: 65536 KiBProblem DescriptionIn GGO, a world dominated by gun and steel, players are fighting for the honor of being the strongest gunmen. Player Shino is a snipe...

ujn20161222的博客 955

Phone Number 2010年山东省第一届ACM大学生程序设计竞赛

Phone Number Time Limit: 1000MS Memory limit: 65536K 题目描述 We know that if a phone number A is another phone number B’s prefix, B is not able to be called. For an example, A ...

weixin_30357231的博客 283

2010年山东省第一届ACM大学生程序设计竞赛——Shopping

题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2154 Shopping 简单模拟即可!!! #include #include #include #include using namespace std; int a[100010]; int main() {

piaocoder 707

动漫推荐之 Fairy Tale 妖精的尾巴

永远的Fairy Tale!

tomotayuki的专栏 1624

sdut 2154:Shopping(第一届山东省省赛原题,水题)

Shopping Time Limit: 1000MS Memory limit: 65536K 题目描述 Saya and Kudo go shopping together.You can assume the street as a straight line, while the shops are some points on the line.They park th...

weixin_33973600的博客 227

hihoCoder 1109 最小生成树三·堆优化的Prim算法

#include #include #include #include #include using namespace std; const int N = 100005; const int M = 1000005; struct Edge{ int u,v,w; }edge[M]; struct node{ int x,w; bool operator

piaocoder 2031

LightOJ 1356 Prime Independence(素数筛选法+最大独立集)(Hopcroft-Carp算法)

Prime Independence 解题思路: 题目大意: 定义素数独立集为一个整数集(不一定全是素数),该整数集合中的任意两个a和b,如果存在a=b*prime的情况(prime为素数),则视为 该情况为"冲突"。独立集即不存在冲突的集合。 算法思想: 首先看到独立集就应该想到二分图,既然是二分图,每个数为一个结点,哪些是U哪些是V呢?自然而然地每个数num进行素因数分 解,

piaocoder 1704

POJ 3169 Layout(差分约束)

题目链接: http://poj.org/problem?id=3169 解题思路: AC代码: #include #include #include #include #include #define INF 0xfffffff using namespace std; const int V=1010; const int E=20010; int n,ml,md; in

piaocoder 1107
上一篇: 2010年山东省第一届ACM大学生程序设计竞赛——Emergency
下一篇: 2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛——Mine Number
yphacker
博客等级 码龄12年 199粉丝 540原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值