poj1656作为新手我都觉得水!!
来源:互联网 发布:chart.js官方文档 编辑:程序博客网 时间:2024/05/17 06:15
Counting Black
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 7990 Accepted: 5130
Description
There is a board with 100 * 100 grids as shown below. The left-top gird is denoted as (1, 1) and the right-bottom grid is (100, 100).
We may apply three commands to the board:
In the beginning, all the grids on the board are white. We apply a series of commands to the board. Your task is to write a program to give the numbers of black grids within a required region when a TEST command is applied.
We may apply three commands to the board:
1.WHITE x, y, L // Paint a white square on the board, // the square is defined by left-top grid (x, y) // and right-bottom grid (x+L-1, y+L-1)2.BLACK x, y, L // Paint a black square on the board, // the square is defined by left-top grid (x, y) // and right-bottom grid (x+L-1, y+L-1)3.TEST x, y, L // Ask for the number of black grids // in the square (x, y)- (x+L-1, y+L-1)
In the beginning, all the grids on the board are white. We apply a series of commands to the board. Your task is to write a program to give the numbers of black grids within a required region when a TEST command is applied.
Input
The first line of the input is an integer t (1 <= t <= 100), representing the number of commands. In each of the following lines, there is a command. Assume all the commands are legal which means that they won't try to paint/test the grids outside the board.
Output
For each TEST command, print a line with the number of black grids in the required region.
Sample Input
5BLACK 1 1 2BLACK 2 2 2TEST 1 1 3WHITE 2 1 1TEST 1 1 3
Sample Output
76
#include <iostream>#include<string.h>using namespace std;struct map{ int x,y; int l;}map ;int board[105][105];string c;int n;int x1,y1;int main(){ int n; cin>>n; memset(board,0,sizeof(board)); while(n--) { cin>>c>>map.x>>map.y>>map.l; x1 = map.x+map.l-1; y1 = map.y+map.l-1; int counter=0; if(c=="TEST") { for(int i = map.x; i<=x1; i++) { for(int j = map.y; j<=y1; j++) { if(board[i][j]==1) { counter++; } } } cout<<counter<<endl; } for(int i = map.x; i<=x1; i++) { for(int j = map.y; j<=y1; j++) { if(c=="BLACK") { if(board[i][j]==0) { board[i][j]=1; } }else if(c=="WHITE") { board[i][j]=0; } } } } //cout << "Hello world!" << endl; return 0;}
- poj1656作为新手我都觉得水!!
- 作为新手的我
- 作为笑话 我觉得笑得出来
- 我觉得处女座一点都不讨嫌
- POJ1656
- poj1656
- POJ1656
- poj1656
- poj1656
- POJ1656
- poj1656
- 作为一个程序的人,我觉得我应该努力学习
- 编程新手我觉得需要掌握的五个重要东西
- 我觉得
- 作为新手
- 作为新手
- 做为一个新手,我觉得我很有必要学习多线程编程!努力吧!
- 一直以来都觉得
- JAVA学习方法,不错!关键是介绍了软件使用方法!
- 中国基础软件崛起靠什么
- C# 实现屏幕键盘 (ScreenKeyboard)
- /dev/zero和/dev/null
- oracle prifile
- poj1656作为新手我都觉得水!!
- ant部署详解
- 基于TCP的网络游戏黑白棋系列教程开篇
- Django:我是怎么做到使用django动态定义表单(form)的
- Windows用户界面编程中的界面闪烁问题
- 《深入理解计算机系统》(第二版)第二章练习题5
- 基于TCP的网络游戏黑白棋系列(一):建立连接
- 由于 ip 改变,导致 oracle dbconsole 无法启动
- Win32程序开发流程