• 题意:有一个\(n\)x\(m\)的矩阵,从\((1,1)\)出发走到\((n,m)\),问最少修改多少个数,使得所有路径上的数对应相等(e.g:\((1,2)\)和\((n-1,m)\)或\((2,1)\)和\((n,m-1)\)).

  • 题解:我们将二维的点的坐标转化为一维的步数(到\((1,1)\)的路径),统计所有步数相同的数字,然后枚举步数及相对应位置的数字,这些位置上的所有数字都应该相等,所以取一个\(0\)和\(1\)出现次数的最小值即可.

  • 代码:

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <algorithm>
    #include <stack>
    #include <queue>
    #include <vector>
    #include <map>
    #include <set>
    #include <unordered_set>
    #include <unordered_map>
    #define ll long long
    #define fi first
    #define se second
    #define pb push_back
    #define me memset
    const int N = 1e6 + 10;
    const int mod = 1e9 + 7;
    const int INF = 0x3f3f3f3f;
    using namespace std;
    typedef pair<int,int> PII;
    typedef pair<ll,ll> PLL; int t;
    int n,m;
    int dis[N][2];
    int a[100][100]; int main() {
    ios::sync_with_stdio(false);cin.tie(0);
    cin>>t;
    while(t--){
    cin>>n>>m;
    me(dis,0,sizeof(dis));
    for(int i=1;i<=n;++i){
    for(int j=1;j<=m;++j){
    cin>>a[i][j]; //step=n+m-2;
    int step=i+j-2;
    dis[step][a[i][j]]++;
    }
    }
    int sum=n+m-2;
    int ans=0;
    for(int i=0,j=sum;i<j;++i,--j){
    ans+=min(dis[i][0]+dis[j][0],dis[i][1]+dis[j][1]);
    }
    printf("%d\n",ans); } return 0;
    }

最新文章

  1. 如何封装JS ----》JS设计模式《------ 封装与信息隐藏
  2. C#版 Winform界面 Socket编程 Server服务器端
  3. C++语言-06-文件操作
  4. Java利用POI导入导出Excel中的数据
  5. GATT两个角色 服务器与客户端
  6. 他们在军训,我在搞 OI(二)
  7. Docker-创建支持ssh服务的镜像
  8. 加载图片、倒计时--Columbia项目总结
  9. Linux下Socket编程的端口问题( Bind error: Address already in use )
  10. lua的前景??
  11. oracle 在操作blob该字段是否会产生很多redo
  12. 浙大 pat 1003 题解
  13. PAT1082:Read Number in Chinese
  14. MyBatis入门简述
  15. 如果测试UI
  16. Javascript高级编程学习笔记(42)—— DOM(8)Attr类型
  17. 【转】python 中NumPy和Pandas工具包中的函数使用笔记(方便自己查找)
  18. Python SMTP发送邮件
  19. 工作中常用到的Vim命令
  20. HDU2873 Bomb Game(二维SG函数)

热门文章

  1. 【ORA】ORA-01078和LRM-00109 解决方法
  2. 【Jboss】应用中缺少宋体怎么办
  3. ctfshow—pwn10
  4. Linux设置开机自动挂载镜像文件
  5. nodejs中使用worker_threads来创建新的线程
  6. Django Full Coverage
  7. secure hashes message digests 安全哈希 消息摘要
  8. 从零开始学Java (二)Hello
  9. LOJ10159旅游规划
  10. Redis 实战 —— 12. 降低内存占用