重庆承越网站制作公司,重庆建设工程造价信息网站,用html做音乐网站,网页链接提取码怎么用描述
Farmer John為了让自己从无穷无尽的犁田工作中解放出来#xff0c;於是买了个新机器人帮助他犁田。这个机器人可以完成犁田的任务#xff0c;可惜有一个小小的缺点#xff1a;这个犁田机器人一次只能犁一个边的长度是整数的长方形的田地。 因為FJ的田地有树和其他障碍…描述
Farmer John為了让自己从无穷无尽的犁田工作中解放出来於是买了个新机器人帮助他犁田。这个机器人可以完成犁田的任务可惜有一个小小的缺点这个犁田机器人一次只能犁一个边的长度是整数的长方形的田地。 因為FJ的田地有树和其他障碍物所以FJ设定机器人去犁很多不同的长方形。这些长方形允许重叠。他给机器人下了P个指令每个指令包含一个要犁长方形的地。这片田地由长方形的左下角和右上角坐标决定。他很好奇最后到底有多少个方格的地被犁过了。 一般来说田地被分割為很多小方格。这些方格的边和x轴或y轴平行。田地的宽度為X个方格高度為Y个方格 (1 X 240; 1 Y 240). FJ执行了I (1 I 200)个指令每个指令包含4个整数Xll, Yll, Xur, Yur (1 Xll Xur; Xll Xur X; 1 Yll Yur; Yll Yur Y), 分别是要犁的长方形的左下角坐标和右上角坐标。机器人会犁所有的横坐标在Xll..Xur并且纵坐标Yll..Yur范围内的所有方格的地。可能这个长方形会比你想像的多一行一列就是说从第Xll列到第Xur列一共有Xur - Xll 1列而不是Xur - Xll列。 考虑一个6方格宽4方格高的田地。FJ进行了2个操作如下田地就被成*和#了。虽然一般被犁过的地看起来都是一样的。但是标成#可以更清晰地看出最近一次被犁的长方形。 ...... **.... #####. ...... (1,1)(2,4) **.... (1,3)(5,4) #####. ...... **.... **.... ...... **.... **.... 一共14个方格的地被犁过了。
输入格式
* 第一行: 三个由空格隔开的整数 X, Y, I * 第二行到第I1行第i1行有四个整数Xll, Yll, Xur, Yur表示第i个指令。
输出格式
第一行: 一个单独的整数表示被犁过的方格数。
测试样例1
输入
6 4 2 1 1 2 4 1 3 5 4 输出
14 分析典型的模拟题只需要按照指令进行顺序模拟最后统计被犁过的方格数即可。
var a:array[1..240,1..240] of boolean;i,x,y,xll,yll,xur,yur,j,s,total,z:longint;
beginreadln(x,y,s);fillchar(a,sizeof(a),false);for z:1 to s dobeginreadln(xll,yll,xur,yur);for i:xll to xur dofor j:yll to yur doa[i,j]:true;end;for i:1 to x dofor j:1 to y doif a[i,j] then inc(total);writeln(total);
end.