拓扑排序。

深刻体会: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的更多相关文章

  1. POJ 2585.Window Pains 拓扑排序

    Window Pains Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1888   Accepted: 944 Descr ...

  2. poj 2585 Window Pains 解题报告

    Window Pains Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2027   Accepted: 1025 Desc ...

  3. poj 2585 Window Pains 暴力枚举排列

    题意: 在4*4的格子中有9个窗体,窗体会覆盖它之下的窗体,问是否存在一个窗体放置的顺序使得最后的结果与输入同样. 分析: 在数据规模较小且不须要剪枝的情况下能够暴力(思路清晰代码简单),暴力一般分为 ...

  4. POJ 2585 Window Pains 题解

    链接:http://poj.org/problem?id=2585 题意: 某个人有一个屏幕大小为4*4的电脑,他很喜欢打开窗口,他肯定打开9个窗口,每个窗口大小2*2.并且每个窗口肯定在固定的位置上 ...

  5. [POJ 2585] Window Pains 拓朴排序

    题意:你现在有9个2*2的窗口在4*4的屏幕上面,由于这9这小窗口叠放顺序不固定,所以在4*4屏幕上有些窗口只会露出来一部分. 如果电脑坏了的话,那么那个屏幕上的各小窗口叠放会出现错误.你的任务就是判 ...

  6. Window Pains

    http://poj.org/problem?id=2585 Window Pains Time Limit: 1000MS   Memory Limit: 65536K Total Submissi ...

  7. POJ 2585:Window Pains(拓扑排序)

    Window Pains Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2524   Accepted: 1284 Desc ...

  8. POJ2585 Window Pains 拓扑排序

    Window Pains Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1843   Accepted: 919 Descr ...

  9. ZOJ 1542 POJ 1861 Network 网络 最小生成树,求最长边,Kruskal算法

    题目连接:problemId=542" target="_blank">ZOJ 1542 POJ 1861 Network 网络 Network Time Limi ...

随机推荐

  1. Python json解析

    #encoding: utf-8 ''' Author:Siukwan ''' import sys reload(sys) sys.setdefaultencoding('utf8') import ...

  2. 四、spark常用函数说明学习

    1.parallelize       并行集合,切片数.默认为这个程序所分配到的资源的cpu核的个数.       查看大小:rdd.partitions.size      sc.paraliel ...

  3. D3.js:交互式操作

    用户用于交互的工具一般有三种:鼠标.键盘.触屏. 1. 添加交互 对某一元素添加交互操作十分简单,代码如下: //画布大小 var width = 500, height = 500; // 在bod ...

  4. java中常遇到的问题

    一.乱码问题 =========================================================================================== 方 ...

  5. cookie解决 未登录加入购物车 第一次访问弹出新手引导页面

    浏览器携带cookie到服务器, 点击加入购物车-->后台检查-->是否登录(有没有sessionid) 没有登录--->secookie()返回给浏览器,把传递过来的商品id, 属 ...

  6. 两句话帮你彻底记住gdb之eXamining memory

    对于刚学习Unix/Linux环境C编程的小朋友们或者写了很多所谓的C代码的老手们(其实很可能是机械程序员或者是伪程序员)来说,要记住gdb的eXaming memory的语法其实是相当不容易的,如果 ...

  7. 【2】JavaScript编程全解笔记(二)

    你过去的种种经历,就像人生的一颗颗珍珠,在未来的某一天,你找到了那根线,你就会把她们串联起来,变成美丽的项链. 第八章 客户端 JavaScript 与 HTML 1. 浏览器渲染页面的步骤 2.   ...

  8. PWM

    #include "sys.h" #include "beep.h" //tim5 定时器 /* tim4 定时器 定时10分钟 控制LED1 */ void ...

  9. MediaPlayer的错误列表速查(android)

    public static final int MEDIA_ERROR_IO Added in API level 17 File or network related operation error ...

  10. url地址数据转换成json数据格式

    var urlToJson = function(){ var ret = {}; window.location.search.substr(1).replace(/(\w+)=(\w+)/ig, ...