!
来源:互联网 发布:不用网络最好玩的游戏 编辑:程序博客网 时间:2024/06/16 16:27
!
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
给出一个n*n的矩阵,矩阵中只有0和1,现在有两种操作:
1 x y 将第x行第y列的数字改变(0变1,1变0)
2 x1 y1 x2 y2求由左上角(x1,y1)到右下角(x2,y2)组成的矩形中的1的个数。
现在初始的矩阵全是0,之后有一系列操作。保证数据输入合法。
输入
第一行输入一个正整数T,代表测试组数。(T <= 10)
每组测试数据的第一行有两个数n,m。(1 <= n <= 500 , 1 <= m <= 10000)
之后是连续m行,代表m次操作。(1 <= x1,y1 <= x2,y2 <= n)
输出
对每次询问输出(x1,y1)到(x2,y2)矩形内的1的个数
示例输入
13 31 2 21 1 12 1 1 3 3
示例输出
2
提示
来源
windream
示例程序
#include<stdio.h> #include<string.h> int a[600][600]; int main() { int i,j,n,m,k,t,x,y,x1,x2,y1,y2,l1,l2,b; scanf("%d",&t); while(t--) { memset(a,0,sizeof(a)); scanf("%d %d",&n,&m); for(i=1;i<=m;i++) { scanf("%d",&k); if(k==1) { scanf("%d %d",&x,&y); if(a[x][y]) a[x][y]=0; else a[x][y]=1; } if(k==2) { b=0; scanf("%d %d %d %d",&x1,&y1,&x2,&y2); for(l1=x1;l1<=x2;l1++) for(l2=y1;l2<=y2;l2++) if(a[l1][l2]) b++; printf("%d\n",b); } } } }
0 0
- 程序员
- 程序员?
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- select * from table1 where id =‘1’ for update
- tomcat对线程池的扩展
- http://macrochen.iteye.com/blog/1414568
- LintCode:旋转图像
- finereport的服务器负载均衡部署--tomcat
- !
- LintCode:旋转链表
- IBM Cloudant分布式NoSQL数据库介绍
- 关于addSpriteFramesWithFile读取失败
- maven 安装纪录
- mysql下如何执行sql脚本
- JavaFX入门(三):使用Eclipse开发JavaFX程序
- LintCode:更新二进制位
- 触发器