VIJOS PID221 / 烦人的幻灯片

2023-12-05 13:50
文章标签 vijos 幻灯片 烦人 pid221

本文主要是介绍VIJOS PID221 / 烦人的幻灯片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 暴力出奇迹,学长诚不欺我。

PID221 / 烦人的幻灯片

题目描述

李教授于今天下午做一个非常重要的演讲。不幸的是他不是一个非常爱整洁的人,他把自己做演讲要用的幻灯片随便堆放在一起。因此,演讲之前他不得不去整理这些幻灯片。做为一个讲求效率的学者,他希望尽可能简单地完成它。情况是这样,教授这次演讲一共要用n张幻灯片(n<=26),这n张幻灯片按照演讲要使用的顺序已经用数字1,2,…,n在上面编上了号。因为幻灯片是透明的,所以我们不能一下子看清每一个数字所对应的幻灯片。

现在我们用大写字母A,B,C,。。。再次把幻灯片依次编上号,如样例所示,我们可以很快发现编号为A的幻灯片是第4张,把它抽出来后我们又可以确定编号为C的幻灯片是第2张,。。。

你的任务是编写一个程序,把幻灯片的数字编号和字母编号对应起来,显然这种对应应该是唯一的;若是出现多种对应的情况或是某些数字编号和字母对应不起来,我们就称对应是无法实现的。

 

输入格式

第一行只有一个数n,表示有n张幻灯片,接下来的n行第行包括4个整数Xmin,Xmax,Ymin,Ymax(整数之间用空格分开),为幻灯片的坐标(该区域为幻灯片),这n张幻灯片按其在输入文件中出现的顺序从前到后依次编号为A,B,C,。。。再接下来的n行依次为n个数字编号的坐标X,Y,显然在幻灯片之外是不会有数字的。

(其实是键盘输入了啦)

输出格式

若是对应可以实现,你的输出应该包括n行,每一行为一个字母和一个数字,中间以一个空格隔开,并且各行以字母的升序排列,注意输出的字母要大写并且顶格;反之,若是对应无法实现,在文件的第一行顶格输出None即可。行首行末无多余空格。

(其实是屏幕输出了啦。。。)

样例输入

4
6 22 10 20
4 18 6 16
8 20 2 18
10 24 4 8
9 15
19 17
11 7
21 11

样例输出

A4
B1
C2
D3

 

#include<cstdio>
using namespace std;
#define MAXN 101
struct pianzi
{int xmin;int ymin;int xmax;int ymax;
};
int tot=0;
int n;
pianzi huan[MAXN];
int map[MAXN][MAXN];
int ans=0;
int train[MAXN];
int visited[MAXN]; 
int note[MAXN];
void dfs(int x)
{if(x>n+1)return;ans++;if(ans==n+1){tot++;for(int i=1;i<=n;i++)note[i]=train[i];}for(int i=1;i<=n;i++){if(map[x][i]==1&&visited[i]==0){visited[i]=1;train[x]=i;dfs(x+1);ans--;visited[i]=0;}}
}
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d %d %d %d",&huan[i].xmin,&huan[i].xmax,&huan[i].ymin,&huan[i].ymax);}for(int i=1;i<=n;i++){int vi,vj;scanf("%d %d",&vi,&vj);for(int j=1;j<=n;j++){if(vi>=huan[j].xmin&&vi<=huan[j].xmax&&vj>=huan[j].ymin&&vj<=huan[j].ymax)map[j][i]=1;}}dfs(1);if(tot==1)for(int i=1;i<=n;i++)printf("%c%d\n",i-1+'A',note[i]);elseprintf("None");return 0;
}

 

 

 

转载于:https://www.cnblogs.com/kuaileyongheng/p/6710909.html

这篇关于VIJOS PID221 / 烦人的幻灯片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/457835

相关文章

使用Cloudflare构建RAG应用;端到端语音开源大模型;AI幻灯片生成器,等六个开源项目

✨ 1: Cloudflare RAG 如何使用Cloudflare构建一个完整的RAG应用,结合多种搜索技术和AI服务。 Cloudflare RAG(Retrieval Augmented Generation)是一个全栈示例,展示如何使用 Cloudflare 构建 RAG 应用程序。该项目结合了 Cloudflare Workers、Pages、D1、KV、R2、AI Gate

vijos P1680距离

https://vijos.org/p/1680#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;char s1[2222],s2[2222];int dp[2222][2222];int min(int a,int b,int c){b=b<c?b:c;re

有了这款低代码工具,从此让你告别烦人的996报表制作模式

一、低代码平台兴起的背景 近年来,低代码与零代码平台的兴起,无疑是IT领域的一股强劲风潮,它们依托互联网技术的飞速进步,致力于简化软件开发流程,推动工具向更加易用、高效的方向演进。在这一浪潮中,尽管市场上涌现出众多自诩为零代码的开发平台,但深入剖析其实际应用场景,我们不难发现,这些平台在应对复杂企业业务环境时,更多扮演的是低代码解决方案的角色。 作为该行业的一员,本人前前后后也使用过不下十

python-pptx - Python 操作 PPT 幻灯片

文章目录 一、关于 python-pptx设计哲学功能支持 二、安装三、入门1、你好世界!例子2、Bullet 幻灯片示例3、`add_textbox()`示例4、`add_picture()`示例5、`add_shape()`示例6、`add_table()`示例7、从演示文稿中的幻灯片中提取所有文本 四、使用演示文稿1、打开演示文稿2、真正打开演示文稿3、打开类似文件的演示文稿 五、使用

vijos 1028 最长上升序列。

vijos 1028 换一个角度看问题。这道题其实就是一个上升序列。 如:a,aa,aaa,aaaa.一个另类的上升序列。 然后弱弱的试了是二分查找。很理想。不过却是个错误的思路。 朴素的上升序列求法 代码: #include <iostream>#include <string.h>#include <algorithm>using namespace std;char

Node.js CQRS 幻灯片系统开发实战-曾亮-专题视频课程

Node.js CQRS 幻灯片系统开发实战—328人已学习 课程介绍         通过 Node.js 、 Express 和 CQRS 技术开发幻灯片系统。 我们已经习惯于 MVC 开发,也都熟悉面向对象开发,也听过 ORM 。但这些和 CQRS 开发模式相比,还是有些落后,几十年来,大家都习惯了贫血式开发方式。 这套课程将通过 Node.js cqrs 框架,从更的层面开

推荐20个非常棒的 jQuery 幻灯片插件和教程

jQuery 是一个非常优秀的 JavaScript 框架,使用简单灵活,同时还有许多成熟的插件可供选择,它可以帮助你在项目中加入一些非常好的效果。滑块和幻灯片效果是常用的内容展示方式之一,这是一种在有限的网页空间内展示系列项目时非常好的方法。今天这篇文章就与大家分享20个非常棒的 jQuery 幻灯片插件和教程。 Create an Image Rotator with Description

手风琴菜单、层级菜单、置顶菜单、无缝滚动、幻灯片的制作

一、手风琴菜单效果图及代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>手风琴效果制作</title> 6 <link rel="stylesheet" href="../css/reset.css"> 7

Windows WPS ppt幻灯片 保存文件时候 PPT文件大小变大 ppt文件太大 解决方案

Windows WPS ppt 幻灯片 保存文件时候 PPT文件大小突然变大,原先只有10M的大小增加到40M 关于wps的ppt文件变大,指的是:明明ppt幻灯片页数和图片都不多,只是稍微修改两个文字,保存时,文件大小增加了不少,关于这个问题我尽量了大量的分析,大部分是因为wps的ppt默认是将所有字体嵌入到ppt中,方便他人编辑和修改。 您可以按照如下方法进行操作: 1、打开【文件】->

vijos 1193 dp

每一行的状态由之前两行决定,dp[i][t][k]表示第i行状态为k,下一行状态为t时的种数,然后dp一遍即可。 代码: #include <iostream>#include <cstring>#include <cstdio>using namespace std;int a[10010];int dp[10010][2][2]; //1下一行还需要一个1,0下一行不需要1in