题意:有white,black,test操作

black将给定范围涂黑,white将给定范围涂白,test将给定范围的黑格子数出来并且输出

思路:无论哪个操作格子范围都在  (x,y)  (x+L-1,y+L-1),行跨度:x到x+L-1,列跨度:y到y+L-1

一个white操作,使用两个for循环对这一范围内的元素赋值,1位黑,0为白

以上行列跨度为1开始的,如果想直接引用,100*100数组最上面增加1行,最左边增加一列

arr[101][101],可以直接引用

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include<string.h>
  4. int table[][],row,col;
  5. void white(int x,int y,int L)
  6. {
  7. for(row=x;row<=(x+L-);row++)
  8. {
  9. for(col=y;col<=(y+L-);col++)
  10. {
  11. table[row][col]=;
  12. }
  13. }
  14. }
  15. void black(int x, int y ,int L)
  16. {
  17. for(row=x;row<=(x+L-);row++)
  18. {
  19. for(col=y;col<=(y+L-);col++)
  20. {
  21. table[row][col]=;
  22. }
  23. }
  24. }
  25.  
  26. int test(int x, int y ,int L)
  27. {
  28. int count=;
  29. for(row=x;row<=(x+L-);row++)
  30. {
  31. for(col=y;col<=(y+L-);col++)
  32. {
  33. if(table[row][col]==)
  34. count++;
  35. }
  36. }
  37. return count;
  38. }
  39.  
  40. int main()
  41. {
  42. int n,x,y,L,count;
  43. char str[];
  44. memset(table,,sizeof(table));
  45. scanf("%d",&n);
  46. while(n--)
  47. {
  48. scanf("%s%d%d%d",str,&x,&y,&L);
  49. if(strcmp(str,"WHITE")==)
  50. {
  51. white(x,y,L);
  52. }
  53. else if(strcmp(str,"BLACK")==)
  54. {
  55. black(x,y,L);
  56. }
  57. else
  58. {
  59. count=test(x,y,L);
  60. printf("%d\n",count);
  61. }
  62. }
  63. return ;
  64. }

poj1656---数黑格子的更多相关文章

  1. 谷歌浏览器chrome假死、卡死、经常无反应,火狐firefox闪黑格子的解决办法(显卡/驱动兼容问题)

        问题: chrome 升级到高版本,切换标签后点击,滚轮都没反应,假死不动.F12呼出控制台来开发时更让人揪心.(大概chrome 25更高) 原因: 我的电脑是:集显+512M独显,可切换的 ...

  2. 【wikioi】1907 方格取数3(最大流+最大权闭合子图)

    http://www.wikioi.com/problem/1907/ 这题我一开始想到的是状压,看到n<=30果断放弃. 然后也想到了黑白染色,然后脑残了,没想到怎么连边. 很简单的一题 黑白 ...

  3. Libre 6007 「网络流 24 题」方格取数 / Luogu 2774 方格取数问题 (网络流,最大流)

    Libre 6007 「网络流 24 题」方格取数 / Luogu 2774 方格取数问题 (网络流,最大流) Description 在一个有 m*n 个方格的棋盘中,每个方格中有一个正整数.现要从 ...

  4. HDU3338 Kakuro Extension —— 最大流、方格填数类似数独

    题目链接:https://vjudge.net/problem/HDU-3338 Kakuro Extension Time Limit: 2000/1000 MS (Java/Others)     ...

  5. BZOJ 1475: 方格取数( 网络流 )

    本来想写道水题....结果调了这么久!就是一个 define 里面少加了个括号 ! 二分图最大点权独立集...黑白染色一下 , 然后建图 : S -> black_node , white_no ...

  6. 【BZOJ1475】方格取数 [最小割]

    方格取数 Time Limit: 5 Sec  Memory Limit: 64 MB[Submit][Status][Discuss] Description 在一个n*n的方格里,每个格子里都有一 ...

  7. [BZOJ1475]方格取数 网络流 最小割

    1475: 方格取数 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1025  Solved: 512[Submit][Status][Discuss] ...

  8. 【bzoj1475】方格取数 网络流最小割

    题目描述 在一个n*n的方格里,每个格子里都有一个正整数.从中取出若干数,使得任意两个取出的数所在格子没有公共边,且取出的数的总和尽量大. 输入 第一行一个数n:(n<=30) 接下来n行每行n ...

  9. Bzoj2756 [SCOI2012]奇怪的游戏

    2756: [SCOI2012]奇怪的游戏 Time Limit: 40 Sec  Memory Limit: 128 MBSubmit: 3220  Solved: 886 Description ...

随机推荐

  1. 关于const限定符

    1.  指向非常量数据的非常量指针 具有最高的数据访问极限 .不包含const关键字. 2. 指向常量数据的非常量指针 指针可以被改写,使其指向相应类型的任何数据项, 但是它所指向的数据项的值是不能被 ...

  2. iOS把一个简单的图形变成一个圆

    push是定义的一个button push.layer.masksToBounds = YES; push.layer.cornerRadius = 100; push.layer.borderWid ...

  3. oc @property参数

  4. android 百度地图定位功能实现

    历经几天时间,终于把定位功能给实现了,可谓是费劲千辛万苦啊,有定位知识还有图层知识,在这里我把代码给大家贴出来,一起分享一下下啦. package com.example.foreveross.off ...

  5. 元数据(meta-data)

    本章所介绍的元数据的知识,可能在定制系统时会用到.因为那是后需要修改底层框架的一些内容 一.元数据的定义 在AndroidManifest.xml中如下书写: <activity android ...

  6. 全国计算机等级考试二级教程-C语言程序设计_第15章_位运算

    位运算,不适用于实数,仅仅适用于整数.字符. C语言的位运算只能操作整数.字符,实数是指数方式表示的,不适用于位运算. #define _CRT_SECURE_NO_WARNINGS #include ...

  7. html中给图片添加热点

    <img src="images/index/top1.jpg" width="248" height="512" usemap=&q ...

  8. Cow Sorting(置换群)

    Cow Sorting Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6664   Accepted: 2602 Descr ...

  9. jQuery学习笔记(一)——基础选择器、过滤选择器、表单选择器

    $()就是jQuery中的函数,它的功能是获得()中指定的标签元素.如演示样例中$("p")会得到一组P标签元素,当中"p"表示CSS中的标签选择器.$()中的 ...

  10. ASP.NET MVC 学习之路-1

    本文在于巩固基础 学习参考书籍:ASP.NET MVC4 Web编程 首先确定我们学习MVC的目标: 我们学习ASP.NET MVC的目的在于开发健壮的.可维护的Web应用,当然这需要一定的知识基础, ...