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 ...
随机推荐
- 【Scala】Scala之String
一.前言 大数据领域的Spark.Kafka.Summingbird等都是由Scala语言编写而成,相比Java而言,Scala更精炼.由于笔者从事大数据相关的工作,所以有必要好好学习Scala语言, ...
- Testlink1.9.14介绍及使用
Testlink简介 今天在为部门培训testlink的使用,顺便把相关片段记录下来. TestLink是一款开源的测试管理工具,主要用于进行测试过程的管理,通过使用TestLink提供的功能,可以 ...
- JavaScript进阶(四)
现在说说什么是函数.函数的作用可以写一次代码,然后反复的重用这个代码.如:我们要完成多组数和的功能.var sum;sum=3+2;alert(sum); sum=7+8;alert(sum);... ...
- Theos 工程make package时报错
错误: /Applications/Xcode.app/Contents/Developer/usr/bin/make package requires you to have a layout/ d ...
- struts2.0中struts.xml配置文件详解
先来展示一个配置文件 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration ...
- ACM北大学习
在两周的学习下,对ACM竞赛有了更深入地了解.学习到了很多知识,见识到了很多高手,目光放得更长远了.最后的比赛,在100多个队伍中,获得第十八的名次,也不负我的学习.
- 敏捷开发(九)- Scrum Sprint计划会议2
本文主要是为了检测你对SCRUM Sprint 计划会议二的了解和使用程度, 通过本文你可以检测一下 1.你们的SCRUM Sprint 计划会议二的过程和步骤 2.SCRUM Spri ...
- #数论-模运算#POJ 1150、1284、2115
1.POJ 1150 The Last Non-zero Digit #质因数分解+模运算分治# 先贴两份题解: http://www.hankcs.com/program/algorithm/poj ...
- SNMP概述–运维必知的协议基础
一.什么是SNMP? SNMP是 “Simple Network Management Protocol” 的缩写,中文意思是简单网络管理协议,它是由互联网工作小组在RFC1157中定义的应用层 ...
- 前端自动化部署之gulp
1.首先需要安装node+npm(这里不再叙述,网上教程一大堆) 2.gulp全局安装:npm install -g gulp 3.cd进入到你的项目目录,这里使用demo文件夹为我的示例项目 4.在 ...