题目:一辆车沿着网格线按给定路线走,每个网格里有一个人,人的视线始终看着车,问这些人净转多少圈的平方和。

思路:首先发现,净转就是这个线路绕这个点转了多少圈。然后发现,这个值就是这个网格左边向下的次数,和向上的次数差

这个可以用树状数组的思想,用前缀和,来维护,数组由于边界不确定可以有vector

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<vector>
using namespace std;
vector<vector<int> >a;
int main()
{int t,kase=0;int n,m,k;char op[10];scanf("%d",&t);while(t--) {scanf("%d%d%d",&n,&m,&k);a=vector< vector<int> >(n+10,vector<int>(m+10,0));int dt;int x=1,y=1;while(k--) {scanf("%s",op);scanf("%d",&dt);if(op[0]=='D') {a[x][y]++;//    a[x][m+1]--;x+=dt;a[x][y]--;//    a[x][m+1]++;}if(op[0]=='R') {y+=dt;}if(op[0]=='L') {y-=dt;}if(op[0]=='U'){a[x][y]++;//  a[x][m+1]--;x-=dt;a[x][y]--;// a[x][m+1]++;}}/*   for(int i=1;i<=n+1;i++) {for(int j=1;j<=m+1;j++) {cout << a[i][j] << " ";}cout << endl;}*/long long sum=0;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) {a[i][j]+=a[i-1][j]+a[i][j-1]-a[i-1][j-1];sum+=a[i][j]*a[i][j];}printf("Case #%d: %lld\n",++kase,sum);}return 0;
}

UVALive 7139-Rotation-前缀矩阵相关推荐

  1. UVALive 7139 Rotation(矩阵前缀和)(2014 Asia Shanghai Regional Contest)

    题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=6 ...

  2. UVALive - 7139 Rotation 矩阵前缀和(imos和)

    传送门:UVALive 7139 题意:N*M的网格,一辆车沿着网格线按给定路线走,每个网格里有一个人,人的视线始终看着车,问这些人净转圈数的平方和. 思路:因为起点和终点都是左上角,因此我们可以维护 ...

  3. UVALive 7139 - Rotation

    传送门 题意:由n*m个格子组成的网格地图,一辆车沿着边移动,车从起点出发,最终又回到起点 每个格子中间都站着一个人,一直面向着车,若(x,y)格子的人在车子行驶过程中,顺时针转了a度,逆时针b度,则 ...

  4. UVALive 7139 Rotation 二维vector+矩阵前缀和 【模版】

    题目大意:给一个n*m的矩阵,每个方块上有一个人.现在有一辆车在左上角的格点处,矩阵里的人都会一直面向那辆车.现在给出车的移动路线,问每个人总旋转角度的平方和是多少.若一个人顺时针旋转10个圈,逆时针 ...

  5. UVALive 7139 Rotation

     这个题就是模拟题,但是性质很深. 观察可得到一个结论:对于一个方格中的人来说,如果要有一个完整的时针旋转,则必然是一边走下去,一边走上去,且"包含"所以不用考虑R,L. 若车 ...

  6. UVALive 7139 Rotation(模拟)

    思路:模拟题,留意到其实左右操作是会抵消的,所以只用考虑上下就好了 #include<iostream> #include<cstdio> #include<vector ...

  7. UVALive - 7139(差分+模拟)

    题目链接 参考 题意 N*M的网格,一辆车沿着网格线按给定路线走,每个网格里有一个人,人的视线始终看着车,问这些人净转圈数的平方和. 分析 由于车的起点和终点都为左上角,且每个格子里的人永远面对着车, ...

  8. 数字化方法基础(四)_矩阵操作

    数字化方法基础(四)_矩阵操作 Chapter 7 矩阵操作 利用矩阵实现向量平移 使用矩阵实现向量旋转 如何让图形既平移又旋转 坐标系的旋转 让图形显示在屏幕中心且绕中心转动 全部教程链接: htt ...

  9. BZOJ 1176[Balkan2007]Mokia (cdq分治,矩阵加矩阵求和)

    BZOJ 1176[Balkan2007]Mokia (cdq分治,矩阵加矩阵求和) Description 维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值. ...

  10. NLP 新宠:谈Prompt的前世今生

    作者|闵映乾 单位 | 中国人民大学信息学院硕士 研究方向 | 自然语言处理 导读:本文目标是对近期火爆异常的Prompt相关研究作一些追溯和展望,内容主要参考论文<Pre-train, Pro ...

最新文章

  1. php 第三方DB库NOTORM
  2. lower_bound()、upper_bound()
  3. [Java,MVC] Eclipse下搭建Spring MVC
  4. 最受欢迎的男友职业排行榜 Top10 ,程序员排第 3
  5. Canal 1.1.5 启动报错:caching_sha2_password Auth failed
  6. java 语法_Java基础语法
  7. 刚毕业就要求月薪10K?我觉得没毛病
  8. magento 获取 pages/Static Block 内容 Get Pages/Static Block in Magento
  9. RS485通信和Modbus通信协议
  10. VS2019+CUDA编程(流程)
  11. FME 函数(Transformer)功能简介
  12. JavaScript 中阶 打地鼠游戏(基础版)
  13. The Beatles Strawberry Fields Forever 歌词翻译
  14. 精美的手机WEB网页欣赏
  15. python第一次考试_python 全栈开发,Day16(函数第一次考试)
  16. Windows Docker Desktop 无法启动报错 Docker Desktop is shutting down 的可能解决办法
  17. Java线程状态及其转换
  18. 数字孪生技术海上风电场解决方案
  19. vue+d3.js计算任意多边形面积
  20. 如何实现“轻高精地图”的城市NOH?毫末自动驾驶的8大亮点

热门文章

  1. php mysql中间件原理_Laravel中间件实现原理详解
  2. 一些中间件的思维导图
  3. 利用canvas对图片进行等比例压缩
  4. 桌面图标重启后被自动打乱,桌面右键后没有将图标与网格对齐
  5. ubuntu16.04 安装deepin软件商店
  6. 拼图游戏-从基础到应用玩转手势变化。
  7. Zabbix2.4 之自定义监控图表、报警机制
  8. Python安装docx依赖包
  9. 处理机调度算法详解----作业调度
  10. Android基础入门教程——8.3.5 Paint API之—— Xfermode与PorterDuff详解(二)