烦人的幻灯片 暴力出奇迹

题目描述

李教授于今天下午做一个非常重要的演讲。不幸的是他不是一个非常爱整洁的人,他把自己做演讲要用的幻灯片随便堆放在一起。因此,演讲之前他不得不去整理这些幻灯片。做为一个讲求效率的学者,他希望尽可能简单地完成它。情况是这样,教授这次演讲一共要用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 1

样例输出

A4
B1
C2
D3

blcqj???????????

对不起,第一次粘错代码了233

暴力出奇迹啊

  1 #include<cstdio>
  2 #include<iostream>
  3 #include<cstring>
  4 #include<algorithm>
  5 using namespace std;
  6 struct node
  7 {
  8     int n,num,xx,yy;
  9 }aa[10001];
 10 int a[10001][5];
 11 struct rrrr{
 12     int numm;bool aaa[1001];
 13 }rudu[10001];
 14 int cmp(const node & ac,const node & bc)
 15 {
 16     if(ac.num<bc.num)return 1;
 17     else return 0;
 18 }
 19 int main()
 20 {
 21     int n;
 22     scanf("%d",&n);
 23     for(int i=1;i<=n;i++)
 24     {
 25         for(int j=1;j<=4;j++)
 26         scanf("%d",&a[i][j]);
 27     }
 28     int x,y;
 29     int ans[1001];
 30     int vis[1001];
 31     for(int i=1;i<=n;i++)
 32     {
 33         scanf("%d%d",&x,&y);
 34         aa[i].n=i;
 35         aa[i].xx=x;
 36         aa[i].yy=y;
 37         for(int j=1;j<=n;j++)
 38             if(x>=a[j][1]&&x<=a[j][2]&&y>=a[j][3]&&y<=a[j][4])
 39             {
 40                 aa[i].num++;
 41                 rudu[j].numm++;
 42                 rudu[j].aaa[i]=1;
 43             }
 44     }
 45     int tot=0;
 46     int flagg=0;
 47     for(int i=1;i<=n;i++)
 48     {
 49         if(rudu[i].numm==1)
 50         {
 51              flagg++;
 52         }
 53     }
 54     if(flagg!=1)
 55     {
 56         printf("None");
 57         return 0;
 58     }
 59     sort(aa+1,aa+n+1,cmp);
 60
 61     for(int i=1;i<=n;i++)
 62     {
 63         for(int j=1;j<=n;j++)
 64         {
 65             if(aa[i].xx>=a[j][1]&&aa[i].xx<=a[j][2]&&aa[i].yy>=a[j][3]&&aa[i].yy<=a[j][4]&&!vis[j])
 66             {
 67             vis[j]=1;
 68             ans[j]=aa[i].n;
 69             tot++;
 70             break;
 71             }
 72         }
 73         for(int q=1;q<=n;q++)
 74         if(rudu[q].aaa[aa[i].n]==1)
 75         {
 76             rudu[q].aaa[aa[i].n]=0;
 77             rudu[q].numm--;
 78         }
 79     }
 80     int flag=0;
 81     for(int i=1;i<=n;i++)
 82     {
 83         if(rudu[i].numm!=0)
 84         {
 85          flag=1;
 86          break;
 87         }
 88     }
 89     if(tot!=n||flag)
 90     {
 91         printf("None");
 92         return 0;
 93     }
 94     else
 95     for(int i=1;i<=n;i++)
 96     {
 97         printf("%c",i+64);
 98         printf("%d",ans[i]);
 99         cout<<endl;
100     }
101     return 0;
102 }
时间: 2024-10-11 06:55:38

烦人的幻灯片 暴力出奇迹的相关文章

SID1190471 / 烦人的幻灯片 暴力出奇迹 !!!!!!!!!!!!!!!!!!

PID221 / 烦人的幻灯片 ☆ 提交你的代码 查看讨论和题解 你还木有做过哦 我的状态 查看最后一次评测记录 质量还不能统计出来哦~ 题目评价 质量 无 ★★★★★ ★★★★☆ ★★★☆☆ ★★☆☆☆ ★☆☆☆☆ 0% 0% 0% 0% 0% ★ ★ ★ ★ ☆ 通过人数 186 / 337 通过统计 最短耗时 0ms 最小内存 0KB 其它 题目标签 类型 其它 题目描述 李教授于今天下午做一个非常重要的演讲.不幸的是他不是一个非常爱整洁的人,他把自己做演讲要用的幻灯片随便堆放在一起.因此

VIJOS PID221 / 烦人的幻灯片

 暴力出奇迹,古人诚不欺我. PID221 / 烦人的幻灯片 2017-04-14 19:47:08 运行耗时:30 ms 运行内存:12292 KB 查看最后一次评测记录 题目描述 李教授于今天下午做一个非常重要的演讲.不幸的是他不是一个非常爱整洁的人,他把自己做演讲要用的幻灯片随便堆放在一起.因此,演讲之前他不得不去整理这些幻灯片.做为一个讲求效率的学者,他希望尽可能简单地完成它.情况是这样,教授这次演讲一共要用n张幻灯片(n<=26),这n张幻灯片按照演讲要使用的顺序已经用数字1,2,-,

4735 烦人的幻灯片 (拓扑)

4735 烦人的幻灯片 时间限制: 2 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 帅气的作者将于今天下午作一次非常重要的演讲.不幸的是他不是一个非常爱整洁的人,他把自己演讲要用的幻灯片随便堆在了一起.因此,演讲之前他不得不去整理这些幻灯片.作为一个讲求效率的oier,他希望尽可能简单地完成它.帅气的作者这次演讲一共要用n张幻灯片(n<=26),这n张幻灯片按照演讲要使用的顺序已经用数字1~n编了号.因为幻灯片是透明的,所以我们不能一下子看

病毒&amp;烦人的幻灯片

<病毒>传送门 <烦人的幻灯片>传送门 病毒 描述 有一天,小y突然发现自己的计算机感染了一种病毒!还好,小y发现这种病毒很弱,只是会把文档中的所有字母替换成其它字母,但并不改变顺序,也不会增加和删除字母. 现在怎么恢复原来的文档呢!小y很聪明,他在其他没有感染病毒的机器上,生成了一个由若干单词构成的字典,字典中的单词是按照字母顺序排列的,他把这个文件拷贝到自己的机器里,故意让它感染上病毒,他想利用这个字典文件原来的有序性,找到病毒替换字母的规律,再用来恢复其它文档. 现在你的任务

拓扑排序——烦人的幻灯片

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

莫队算法——暴力出奇迹

简介: 莫队这个算法是莫涛提出的. ? 用于处理一类不带修改的区间查询问题的离线 算法,其核心在于利用曼哈顿距离最小生成树 算法对区间处理顺序进行处理 . --zrt课件 这个算法本质上其实是暴力,但是由于可以离线处理循环的顺序,使得复杂度可以从n^2降到n^根号n甚至更低. 对于可以找到以下特点的题可以尝试使用莫队: 1.莫队算法是离线处理一类区间不修改查询类问 题的算法.就是如果你知道了 [ L,R] 的答案.你 可以在 O(1 ) 或 O( lgn ) 的 时间下得到 [ L,R 1] 和

烦人的幻灯片(slides)

1395:烦人的幻灯片(slides) 时间限制: 1000 ms         内存限制: 65536 KB提交数: 753     通过数: 416 [题目描述] 李教授将于今天下午作一次非常重要的演讲.不幸的事他不是一个非常爱整洁的人,他把自己演讲要用的幻灯片随便堆在了一起.因此,演讲之前他不得不去整理这些幻灯片.作为一个讲求效率的学者,他希望尽可能简单地完成它.教授这次演讲一共要用n张幻灯片(n≤26),这n张幻灯片按照演讲要使用的顺序已经用数字1~n编了号.因为幻灯片是透明的,所以我

PID221 / 烦人的幻灯片☆ x

超详细解释!我都被我自己惊呆了! (这个题目意思我缓冲了很久!一定要读懂题!否则做不出来) 题目不懂就多读呀~ 提交你的代码 查看讨论和题解 题目描述 李教授于今天下午做一个非常重要的演讲.不幸的是他不是一个非常爱整洁的人,他把自己做演讲要用的幻灯片随便堆放在一起.因此,演讲之前他不得不去整理这些幻灯片.做为一个讲求效率的学者,他希望尽可能简单地完成它.情况是这样,教授这次演讲一共要用n张幻灯片(n<=26),这n张幻灯片按照演讲要使用的顺序已经用数字1,2,-,n在上面编上了号.因为幻灯片是透

COGS——T 438. 烦人的幻灯片

http://www.cogs.pro/cogs/problem/problem.php?pid=438 ★☆   输入文件:slides.in   输出文件:slides.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] 李教授将于今天下午作一次非常重要的演讲.不幸的是他不是一个非常爱整洁的人,他把自己演讲要用的幻灯片随便堆在了一起.因此,演讲之前他不得不去整理这些幻灯片.做为一个讲求效率的学者,他希望尽可能简单地完成它.教授这次演讲一共要用n张幻灯片(n≤26)