旋转圆柱矩阵

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述
将圆柱体的侧面展开能得到一个m*n的矩形。这是姑且看成一个01矩阵, 我们需要通过特定的移动得到另一个矩阵(该矩阵其中任意的某一列全部为1),每一次只能移动一行,且只能移动一位,可以向左移动,也可以向右移动,求最小的移动步数,如不能通过移动得到结果,则输出“-1”。
例如:
3*5的矩阵
00001
10000
00001
我们只需要将第二行向左移动一位即可得到所求。
输入
第一行一个整数N(N<=10),表示测试数据的组数。
第二行两个整数m n( 1 <= n , m <= 200),表示矩阵的行数和列数。
接下来m行,其中每一行n个数字。
输出
如果该矩阵可以移动得到结果,则每行一个数字,表示最小的移动步数。
否则输出-1。
样例输入
2
3 5
00001
10000
00001
3 4
0001
0100
0001
样例输出
1
2
AC码:
#include<stdio.h>
#include<string.h>
int num[205][205],sum[205];
int main()
{int T,n,m,a,b,i,j,min,flag;char str[205];scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);for(i=0;i<n;i++){scanf("%s",str);flag=0;for(j=0;str[j]!='\0';j++){num[i][j]=str[j]-'0';if(num[i][j]==1)flag=1;}}if(flag==0){printf("-1\n");continue;}memset(sum,0,sizeof(sum));for(i=0;i<n;i++){for(j=0;j<m;j++){if(num[i][j]==0){a=j;b=j;while((num[i][a]==0)&&(num[i][b]==0)){a=(a+m-1)%m;b=(b+m+1)%m;sum[j]++;}}}}min=999999999;for(i=0;i<m;i++){if(min>sum[i])min=sum[i];}printf("%d\n",min);}return 0;
}

NYOJ 598 旋转圆柱矩阵相关推荐

  1. 算法练习day8——190326(猫狗队列、转圈打印矩阵、旋转正方形矩阵、反转单向双向链表、数N的加法组合)

    1.猫狗队列 [题目] 宠物. 狗和猫的类如下: public class Pet {private String type;public Pet(String type) {this.type = ...

  2. 数据结构与算法之转圈打印矩阵和旋转正方形矩阵

    数据结构与算法之转圈打印矩阵和旋转正方形矩阵 目录 转圈打印矩阵 旋转正方形矩阵 1. 转圈打印矩阵 题目描述 代码实现 public class Code_PrintMatrixSpiralOrde ...

  3. python 旋转矩阵_【每日算法Day 93】不用额外空间,你会旋转一个矩阵吗?

    第 100 天时,我可能会对这 100 天以来的算法题进行一个总结,然后暂时停止更新 LeetCode 题解了. 下一步可能更新 NLP 相关算法了,非常感谢大家每天的支持. 题目链接 LeetCod ...

  4. PCL点云的旋转平移矩阵

    目录 (一)左乘右乘 1.左乘 2.右乘 (二)旋转平移矩阵公式 1.绕X轴逆时针旋转角度θ 2.绕Y轴逆时针旋转角度θ 3.绕Z轴逆时针旋转角度θ 4.平移 (三)旋转平移矩阵的逆 (四)PCL实现 ...

  5. 《PCL点云库学习VS2010(X64)》Part 34 旋转平移矩阵用法

    <PCL点云库学习&VS2010(X64)>Part 34 旋转平移矩阵用法 1.变换与投影矩阵讲解: https://en.wikipedia.org/wiki/Transfor ...

  6. 采用 MRT-LBM 模拟旋转圆柱绕流---MATLAB代码--王富海2017--基于 MRT-LBM 的流场与声场仿真计算

    %这个例子采用 MRT-LBM 模拟旋转圆柱绕流 %基于 MRT-LBM 的流场与声场仿真计算 --王富海2017 %左边速度边界-泊肃叶流,右边压力边界,上下无滑移壁面(全部用非平衡外推格式) %还 ...

  7. 旋转遍历矩阵 Spiral Matrix

    为什么80%的码农都做不了架构师?>>>    问题: Given a matrix of m x n elements (m rows, n columns), return al ...

  8. 每天一道LeetCode-----顺时针旋转n×n矩阵90度

    Rotate Image 原题链接Rotate Image 原地旋转n × n矩阵90度 正方形的旋转问题可以一圈一圈的旋转,先旋转最外层,然后内层,再内层.需要旋转的次数是矩阵行数的一半.旋转过程中 ...

  9. 旋转成分矩阵结果分析_PCA(主成分分析) 和 SVD (奇异值分解)

    PCA 和 SVD 协方差矩阵 在上一篇 最小二乘法 的末尾提到了协方差矩阵以及用它来拟合,这里先再次回顾. 我们来观察一下: 假设有一堆点 ,如果我们想要看这堆点的分散程度,一个办法是我们找出过质心 ...

最新文章

  1. php静态方法调用变量吗,php静态方法怎么调用非静态变量?
  2. Could not load file or assembly 'System.Web.Extensions
  3. matlab产生一列相同的数据,读取excel中的数据把第一列相同的所有行数据输出成一个excel...
  4. 【数字信号处理】线性常系数差分方程 ( 线性常系数差分方程 与 边界条件 总结 ) ★★★
  5. Java中对象的复制
  6. 视频编码中的RC(rate control)是什么?码率控制 CBR (Constant Bit Rate)、VBR (Variable Bit Rate)
  7. Mysql中的in和find_in_set的区别?
  8. python pipenv_为什么Python开发人员应该使用Pipenv
  9. Ineedle驱动方式dpdk测试性能
  10. redis 所有模糊key 查询_写完这篇Redis由浅入深剖析快自闭了!
  11. 线程挂起 阻止有什么区别c#
  12. IOC(控制反转)的理解
  13. redis cluster 分布式锁_Redis的分布式锁的实现原理
  14. Jzoj3882 近邻
  15. 【MFC教程】利用向量创建MFC
  16. 迁移学习—Geodesic Flow Kernel for Unsupervised Domain Adaptation
  17. python繁简体转换
  18. Template.js
  19. JS学习之路系列总结五行阵(此文犹如武林之中的易筋经,是你驰骋IT界的武功心法,学会JS五大阵法就学会了JS,博主建议先学三才阵)...
  20. 生产订单(prod order)状态直接从表(AUFK/JEST/TJ02T/TJ02)获取

热门文章

  1. Python解决数独
  2. php 基础函数写法,字符串,常用函数
  3. ORA-16038: log 3 sequence# 103 cannot be archived
  4. 在Flash CS6中安装动画辅助制作插件DragonBones
  5. 复数矩阵QR分解算法的C++实现
  6. 《自己动手写开发工具》试读版电子书及光盘
  7. 既可输入又可选择的组件
  8. 2021-10-20 Speaking Class
  9. VULKAN学习资料收集
  10. 问题记录:如何比较两个字符串的相似度