POJ 1656 Counting Black
来源:互联网 发布:网络拓扑图 翻译 编辑:程序博客网 时间:2024/04/27 01:32
100 * 100 格子的白板,左上角坐标为(1, 1),右下角坐标为(100, 100)
对这个白板有3种操作:
对这个白板有3种操作:
WHITE x y L ---- 把左上角坐标为( x, y ),边长为L的区域涂成白色
BLACK x y L ---- 把左上角坐标为( x, y ),边长为L的区域涂成黑色
TEST x y L ---- 统计左上角坐标为( x, y ),边长为L的区域中黑色块的数量
简单的模拟每次操作的过程即可
Code:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn = 101;int board[maxn][maxn];int main(){ int n; char op[10]; int x, y, l; scanf( "%d", &n ); memset( board, 0, sizeof( board ) ); for( int i = 0; i < n; i++ ) { scanf( "%s%d%d%d", &op, &x, &y, &l ); if( strcmp( op, "BLACK" ) == 0 ) { for( int j = x; j <= x + l - 1; j++ ) { for( int k = y; k <= y + l - 1; k++ ) { board[j][k] = 1; } } } else if( strcmp( op, "WHITE" ) == 0 ) { for( int j = x; j <= x + l - 1; j++ ) { for( int k = y; k <= y + l - 1; k++ ) { board[j][k] = 0; } } } else if( strcmp( op, "TEST" ) == 0 ) { int sum = 0; for( int j = x; j <= x + l - 1; j++ ) for( int k = y; k <= y + l - 1; k++ ) if( board[j][k] == 1 ) sum++; printf( "%d\n", sum ); } } return 0;}
0 0
- POJ 1656 Counting Black
- poj 1656 Counting Black
- POJ 1656 Counting Black
- poj 1656 Counting Black
- poj 1656 Counting Black
- poj 1656 Counting Black
- poj 1656 Counting Black
- poj 1656 Counting Black
- POJ 1656 Counting Black
- Poj 1656 Counting Black
- poj 1656 Counting Black 水题
- POJ-1656-Counting Black- 四分树
- POJ 1656 Counting Black(水~)
- poj-1656-Counting Black-(树状数组)
- POJ-1565-Counting Black
- PKU 1656 Counting black
- 1656:Counting Black
- POJ-1656 Counting Black (二维树状数组 入门题)
- hdu 1361 Parencodings 模拟
- 如何打造一个伟大的产品4 - 如何驾驭三个木桶模型
- 2015年开年自省
- CodeForces 520C DNA Alignment
- 轻松搭建hadoop1.2.1集群前奏--虚拟机安装与配置
- POJ 1656 Counting Black
- hdoj 1171 多重背包问题
- Android初学之系统分层架构
- 设计模式学习笔记---代理模式Proxy(Java版)
- Two Buttons(BFS)
- POJ 1007 DNA Sorting
- atitit.手动配置列表文件的选择and 数据的层次结构 attilax总结最佳实践--yaml
- 如何建立一个GPU加速的研究计算集群(一)
- 关于Android应用代码混淆的一次折腾