首页 > 其他分享 >hdu 5254(暴力)

hdu 5254(暴力)

时间:2023-06-28 23:01:00浏览次数:35  
标签:hdu return 暴力 temp int 5254 ++ flag &&


题解:暴力所有点,直到不存在可以0变1的点。

#include <stdio.h>
#include <string.h>
const int N = 505;
int n, m, k, g[N][N], temp[N][N], vis[N][N];

bool judge(int x, int y) {
    if (x - 1 >= 0 && y - 1 >= 0) {
        if (temp[x - 1][y] && temp[x][y - 1])
            return true;
    }
    if (x - 1 >= 0 && y + 1 < m) {
        if (temp[x - 1][y] && temp[x][y + 1])
            return true;
    } 
    if (x + 1 < n && y - 1 >= 0) {
        if (temp[x + 1][y] && temp[x][y - 1])
            return true;
    }
    if (x + 1 < n && y + 1 < m) {
        if (temp[x + 1][y] && temp[x][y + 1])
            return true;
    }
    return false;
}

int main() {
    int t, cas = 1;
    scanf("%d", &t);
    while (t--) {
        memset(g, 0, sizeof(g));
        memset(vis, 0, sizeof(vis));
        scanf("%d%d%d", &n, &m, &k);
        int num = 0, x, y;
        for (int i = 0; i < k; i++) {
            scanf("%d%d", &x, &y);
            if (!g[x - 1][y - 1]) {
                g[x - 1][y - 1] = 1;
                num++;
            }
        }
        int res = 0;
        while (1) {
            int flag = 0;
            for (int i = 0; i < n; i++)
                for (int j = 0; j < m; j++)
                    temp[i][j] = g[i][j];
            for (int i = 0; i < n; i++)
                for (int j = 0; j < m; j++) {
                    if (temp[i][j] == 0 && judge(i, j)) {
                        g[i][j] = 1;
                        flag++;
                    }
                }
            if (flag)
                res += flag;
            else
                break;
        }
        printf("Case #%d:\n%d\n", cas++, res + num);
    }
    return 0;
}


标签:hdu,return,暴力,temp,int,5254,++,flag,&&
From: https://blog.51cto.com/u_10729926/6577237

相关文章

  • hdu 2855(矩阵快速幂)
    题意:计算公式题解:想推出矩阵相乘的形式,想了很久也想不出,然后看别人的题解有一个高中就学过的式子:(1+x)^n=Cn0x^n+Cn1x^(n-1)+Cn2x^(n-2)+Cn3x^(n-3)+····+Cnn然后想到斐波那契矩阵是{1,1,1,0},1看做一个单位阵{1,0,1,0},就会做了。。。#include<stdio.h>#include......
  • hdu 1241(dfs)
    ProblemDescriptionTheGeoSurvCompgeologicsurveycompanyisresponsiblefordetectingundergroundoildeposits.GeoSurvCompworkswithonelargerectangularregionoflandatatime,andcreatesagridthatdividesthelandintonumeroussquareplots.......
  • 免费修复一加手机高通崩溃qualcomm crashdump mode
    qualcommcrashdumpmodequalcommcrashdumpmodequalcommcrashdumpmode高通崩溃高通崩溃高通崩溃希望崩溃的小朋友们,送修之前能搜到。。线刷下载,挨个刷。。国内找个网站比较恶心,下载要要两块钱。。这个免费。。。https://onepluscommunityserver.com/list/Unbrick_Too......
  • 网安--暴力破解防御
    防御方式:1、二次验证验证码、IP验证、行为识别等2、WAF等安全产品3、强制修改密码4、取消密码登录用户建议: ......
  • 算法——暴力、贪心策略
    暴力贪心算法是一种基于贪心思想的算法,它的主要思想是在问题求解的过程中,尽可能地采取局部最优策略,从而得到全局最优解。暴力贪心算法的技巧包括:确定问题的最优解结构:对于一个问题,如果它具有最优子结构的性质,那么就可以使用贪心算法来求解。最优子结构的性质是指问题的最优解可......
  • 记录--强制缓存这么暴力,为什么不使用协商缓存
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前段时间在看面经的时候,发现很多份面经中都被问到了强缓存和协商缓存。因此我觉得有必要写一篇文章来好好聊聊这两者。强缓存和协商缓存浏览器缓存是浏览器在本地磁盘对用户最近请求过的文档进行存储,当访问......
  • CCF_201912-2 回收站选址(C++_暴力_枚举)
    思路本来想用dfs来着,有垃圾的地方就标一后来看到数的大小为,数量却只有就果断暴力了…Code#include<bits/stdc++.h>//暴力枚举usingnamespacestd;typedeflonglongll;llx[1010],y[1010],num[1010],score[1010],ans[10];intmain(){ intn; cin>>n; for(inti=......
  • P1203 [USACO1.1]坏掉的项链Broken Necklace(C++_模拟_暴力枚举_优化)
    题目描述你有一条由n个红色的,白色的,或蓝色的珠子组成的项链,珠子是随意安排的。这里是n=29的两个例子:第一和第二个珠子在图片中已经被作记号。图片A中的项链可以用下面的字符串表示:brbrrrbbbrrrrrbrrbbrbbbbrrrrb假如你要在一些点打破项链,展开成一条直线,然后从一端开始收集......
  • 「解题报告」HDU6358 Innocence
    其实挺简单的,但是考场上状态太差没推出来,暴力还挂了。麻了。首先看题:发现,这不是我们异或FWT的题吗,下次出题记得标明出处容易发现,我们实际上要求的就是集合幂级数\([x^k](x^l+x^{l+1}+\cdots+x^{r-1}+x^r)^n\)。考虑直接手动模拟FWT。设\(F(l,r)=FWT(x^l+......
  • HDU5293 Tree chain problem
    HDU5293TreechainproblemSolution1考虑dp。把链的信息挂在深度最浅的节点上,自下而上更新答案。记\(f_u\)表示\(u\)子树内的最大权值和,\(S\)表示挂在\(u\)上的某条链,\(son(x)\)表示点\(x\)的儿子集合,\(T_u\)表示子树\(u\)的点集。则\(f_u\)的初始值为:\[f_......