zoj 2193 poj 2585 Window Pains
拓扑排序。
深刻体会:ACM比赛的精髓之处不在于学了某个算法或数据结构,而在于知道这个知识点但不知道这个问题可以用这个知识去解决!一看题目,根本想不到是拓扑排序。T_T......
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<vector>
#include<algorithm>
using namespace std;
int mapp[][]; char s[];
int i, j, k, f;
vector<int> abc[];
int jz[][];
int c[];
int ff[][];
void chushihua()
{
jz[][] = ;
jz[][] = ; jz[][] = ;
jz[][] = ; jz[][] = ;
jz[][] = ;
jz[][] = ; jz[][] = ;
jz[][] = ; jz[][] = ; jz[][] = ; jz[][] = ;
jz[][] = ; jz[][] = ; jz[][] = ; jz[][] = ;
jz[][] = ; jz[][] = ;
jz[][] = ; jz[][] = ;
jz[][] = ; jz[][] = ; jz[][] = ; jz[][] = ;
jz[][] = ; jz[][] = ; jz[][] = ; jz[][] = ;
jz[][] = ; jz[][] = ;
jz[][] = ;
jz[][] = ; jz[][] = ;
jz[][] = ; jz[][] = ;
jz[][] = ;
}
int main()
{
memset(jz, , sizeof(jz));
chushihua();int ge;
while (~scanf("%s", s))
{
for (i = ; i < ; i++)abc[i].clear();
memset(ff, , sizeof(ff));
if (strcmp("ENDOFINPUT", s) == ) break;
memset(c, , sizeof(c));
for (i = ; i <= ; i++) for (j = ; j <= ; j++) scanf("%d", &mapp[i][j]);
for (i = ; i <= ; i++)
{
for (j = ; j <= ; j++)
{
ge = (i - ) * + j;
for (f = ; f <= ; f++)
{
if (jz[ge][f] == && f != mapp[i][j])
{
if (ff[mapp[i][j]][f] == )
{
ff[mapp[i][j]][f] = ;
abc[mapp[i][j]].push_back(f);
c[f]++;
}
}
}
}
}
scanf("%s", s); int df, summ = ;
while ()
{
df = ;
for (i = ; i <= ; i++)
{
if (c[i] == )
{
c[i]--;df = ;summ++;
for (j = ; j < abc[i].size(); j++) c[abc[i][j]]--;
break;
}
}
if (summ == ){printf("THESE WINDOWS ARE CLEAN\n");break;}
if (df == ){printf("THESE WINDOWS ARE BROKEN\n");break;}
}
}
return ;
}
zoj 2193 poj 2585 Window Pains的更多相关文章
- POJ 2585.Window Pains 拓扑排序
Window Pains Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1888 Accepted: 944 Descr ...
- poj 2585 Window Pains 解题报告
Window Pains Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2027 Accepted: 1025 Desc ...
- poj 2585 Window Pains 暴力枚举排列
题意: 在4*4的格子中有9个窗体,窗体会覆盖它之下的窗体,问是否存在一个窗体放置的顺序使得最后的结果与输入同样. 分析: 在数据规模较小且不须要剪枝的情况下能够暴力(思路清晰代码简单),暴力一般分为 ...
- POJ 2585 Window Pains 题解
链接:http://poj.org/problem?id=2585 题意: 某个人有一个屏幕大小为4*4的电脑,他很喜欢打开窗口,他肯定打开9个窗口,每个窗口大小2*2.并且每个窗口肯定在固定的位置上 ...
- [POJ 2585] Window Pains 拓朴排序
题意:你现在有9个2*2的窗口在4*4的屏幕上面,由于这9这小窗口叠放顺序不固定,所以在4*4屏幕上有些窗口只会露出来一部分. 如果电脑坏了的话,那么那个屏幕上的各小窗口叠放会出现错误.你的任务就是判 ...
- Window Pains
http://poj.org/problem?id=2585 Window Pains Time Limit: 1000MS Memory Limit: 65536K Total Submissi ...
- POJ 2585:Window Pains(拓扑排序)
Window Pains Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2524 Accepted: 1284 Desc ...
- POJ2585 Window Pains 拓扑排序
Window Pains Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1843 Accepted: 919 Descr ...
- ZOJ 1542 POJ 1861 Network 网络 最小生成树,求最长边,Kruskal算法
题目连接:problemId=542" target="_blank">ZOJ 1542 POJ 1861 Network 网络 Network Time Limi ...
随机推荐
- redhat7.3配置163 yum源
redhat 的更新包只对注册的用户生效,所以我们需要自己手动更改成CentOS 的更新包,CentOS几乎和redhat是一样的,所以无需担心软件包是否可安装,安装之后是否有问题. 1.首先删除re ...
- 浅谈 Linux
1969年,美国贝尔实验室的肯-汤普森在DEC PDP-7机器上开发出了UNIX系统. 1971年,肯-汤普森的同事丹尼斯-里奇发明了C语言:1973年,UNIX系统的绝大部分源 ...
- c#委托概念
委托的官方概念是:安全封装方法的类型. 百度百科的概念是,委托是个类,定义了方法的类型,使得方法可以作为另外一个方法的参数进行传递.使得程序具有很好的扩展性. 揉碎了讲一下这个概念: 张三要做三件事: ...
- Spark Wordcount
1.Wordcount.scala(本地模式) package com.Mars.spark import org.apache.spark.{SparkConf, SparkContext} /** ...
- IQueryable 和 IEnumerable
IQueryable 和 IEnumerable 其实,对于上面的即有过虑又有排序的条件查询Linq语句,EF是读取数据库中整个Books表中的数据到内存,还是根据Linq查询语句智能的生成SQL再执 ...
- strutsprepareAndExecuteFiter
FilterDispatcher是早期struts2的过滤器,后期的都用StrutsPrepareAndExecuteFilter了,如 2.1.6.2.1.8.StrutsPrepareAndExe ...
- ios开发之简单实现loading动画效果
最近有朋友问我类似微信语音播放的喇叭动画和界面图片加载loading界面是怎样实现的,是不是就是一个gif图片呢!我的回答当然是否定了,当然不排除也有人用gif图片啊!下面我就来罗列三种实现loadi ...
- How I Mathematician Wonder What You Are!(poj 3130)
题意:求问多边形的核(能够看到所有点的点)是否存在. /* 对于这样的题目,我只能面向std编程了,然而还是不理解. 算法可参考:http://www.cnblogs.com/huangxf/p/40 ...
- linux入侵控制与痕迹清理
后门 (1)开机自动反弹shell (2)linux后门 Rookit 目前常用的有:t0rn /mafix/enyelkm 等 mafix rootkit Mafix是一款常用的轻量应用级别Root ...
- 使用rsync无密码传输
众多数据库服务器的管理过程中,在不同服务器间的文件传输是免不了的.您可以使用scp命令或FTP方法完成文件的发送和接收,这篇文章我将给大家介绍另外一种方法,这就是rsync命令.rsync是文件传输程 ...