旋转的二进制

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 46   Accepted Submission(s) : 10

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

给定一个自然数M,及其二进制长度N,得到一个N位的二进制串
    b1 b2 ... bN-1 bN

将该串做左旋转,即b1移到bN后面,得到一个新的二进制串:
    b2 b3 ... bN-1 bN b1

对新的二进制串再做左旋转,得二进制串
    b3 b4 ... bN-1 bN b1 b2

重复旋转操作操作,可得N个二进制串,对这N个串排序,可得一个N*N的矩阵.
例如:
1 0 0 0 1->0 0 0 1 1->0 0 1 1 0->0 1 1 0 0->1 1 0 0 0
对它们做排序,得矩阵

    0   0   0   1   1
    0 0 1 1 0
    0 1 1 0 0
    1 0 0 0 1
    1 1 0 0 0  

问:给出一个自然数M,及其二进制长度N,求出排序矩阵的最后一列。
对于上面的例子,给出M=3,N=5,要你的程序输出10010。

补充说明:存在自然数M的二进制表达超过N位的情况,在这种情况下,取前N次循环的二进制串排序后的最后一列即可。

Input

第一行有一个自然数K,代表有K行测试数据(K<=1000)。
第二行至第K+1行,每行的第一个为自然数M,第二个为二进制长度N(N<64)。

Output

输出K行,每行N个二进制,表示矩阵最后一列从上到下的二进制。

Sample Input

3
3 5
4 7
1099512709120 45

Sample Output

10010
1000000
110000000000000000000000000000100000000000000

Source

CodingTrip - 携程编程大赛 (预赛第一场)

题意不明确,到底超过了n之后全保留排序结果是挫的,截取后面的n位反而是对的...

这道题还恶心,居然m要用unsigned __Int64

代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char str[][];
int cmp(const void *a , const void *b)
{
return strcmp((char *)a ,(char *)b);
}
int main()
{
int test,nn,i,j;
unsigned __int64 m;
scanf("%d",&test);
while(test--)
{
scanf("%I64d%d",&m,&nn);
memset(str,'',sizeof(str));
i=nn-;
while(m>)
{
if(m&) str[][i]='';
m>>=1L;
i--;
if(i<) break;
}
for(i=;i<nn;i++)
{
for(j=;j<nn;j++)
{
str[i][j]=str[i-][(j+)%nn];
}
}
qsort(str,nn,sizeof(str[]),cmp);
for(i=;i<nn;i++)
printf("%c",str[i][nn-]);
putchar();
}
return ;
}

HDUOJ----旋转的二进制的更多相关文章

  1. hduoj 4712 Hamming Distance 2013 ACM/ICPC Asia Regional Online —— Warmup

    http://acm.hdu.edu.cn/showproblem.php?pid=4712 Hamming Distance Time Limit: 6000/3000 MS (Java/Other ...

  2. 图书管理之HTML5压缩旋转裁剪图片总结

    整体思路  : 在移动端压缩图片并且上传主要用到filereader.canvas 以及 formdata 这三个h5的api.逻辑并不难.整个过程就是: (1)用户使用input file上传图片的 ...

  3. Stage3D学习笔记(六):旋转动画效果

    我们这节在上一篇代码的基础上再进一步,让显示的纹理进行旋转. 实现旋转,只需要每帧修改_modelViewMatrix的旋转角度即可,我们需要一个变量来记录旋转: //旋转度数 private var ...

  4. js 前端图片压缩+ios图片角度旋转

    step1:读取选择的图片,并转为base64: function ImgToBase64 (e, fn) { // 图片方向角 //fn为传入的方法函数,在图片操作完成之后执行 var Orient ...

  5. 从零开始一起学习SLAM | 三维空间刚体的旋转

    刚体,顾名思义,是指本身不会在运动过程中产生形变的物体,如相机的运动就是刚体运动,运动过程中同一个向量的长度和夹角都不会发生变化.刚体变换也称为欧式变换. 视觉SLAM中使用的相机就是典型的刚体,相机 ...

  6. (转)Unity3D研究院之将场景导出XML或JSON或二进制并且解析还原场景

    自:http://www.xuanyusong.com/archives/1919 导出Unity场景的所有游戏对象信息,一种是XML一种是JSON.本篇文章我们把游戏场景中游戏对象的.旋转.缩放.平 ...

  7. 伪随机数生成算法-梅森旋转(Mersenne Twister/MT)

    今天主要是来研究梅森旋转算法,它是用来产生伪随机数的,实际上产生伪随机数的方法有很多种,比如线性同余法, 平方取中法等等.但是这些方法产生的随机数质量往往不是很高,而今天介绍的梅森旋转算法可以产生高质 ...

  8. 将场景导出XML或JSON或二进制而且解析还原场景

    导出unity场景的全部游戏对象信息,一种是XML一种是JSON. 本篇文章我们把游戏场景中游戏对象的.旋转.缩放.平移与Prefab的名称导出在XML与JSON中.然后解析刚刚导出的XML或JSON ...

  9. 面试必备:高频算法题终章「图文解析 + 范例代码」之 矩阵 二进制 + 位运算 + LRU 合集

    Attention 秋招接近尾声,我总结了 牛客.WanAndroid 上,有关笔试面经的帖子中出现的算法题,结合往年考题写了这一系列文章,所有文章均与 LeetCode 进行核对.测试.欢迎食用 本 ...

随机推荐

  1. 使用Jenkins和Jmeter搭建性能测试平台

    参考文档:http://blog.csdn.net/liuchunming033/article/details/52186157 jenkins的性能测试结果展现插件:https://wiki.je ...

  2. 如何读取抓取的wifi包内容

    有密码的WIFI,WIFI的密码会生成一个临时会话密钥,这个临时会话密钥可以用来加密会话内容,也就是说.比如你在浏览网页,用有密码的WIFI,连接上以后,浏览的网页流量是加密了的,所以更安全.无密码的 ...

  3. Java并发学习之十五——使用读写锁同步数据訪问

    本文是学习网络上的文章时的总结.感谢大家无私的分享. 读写锁重要的是写锁的使用,仅仅用一个入口. 以下是读写锁使用的样例 package chapter2; import java.util.conc ...

  4. 【转】QT CEF3 消息循环处理

    初次写博客,可能有点乱, 按照自己的实际经历谈一下CEF3钟遇到的一些坑,希望对以后的小伙有些帮助. 先说一下经历,当初第一次接触CEF3的时候,没做特殊处理,直接将cef3封装成控件,嵌入到QT程序 ...

  5. rotate-function

    https://leetcode.com/problems/rotate-function/ public class Solution { public int maxRotateFunction( ...

  6. 两个List循环

    package execise; import java.util.ArrayList; import java.util.List; import domain.User; public class ...

  7. GO语言基础之struct

    结构struct 1. Go 中的struct与C中的struct非常相似,并且Go没有class 2. 使用 type <Name> struct{} 定义结构,名称遵循可见性规则(即首 ...

  8. Callable、Future&阻塞队列&阻塞栈

    Callable.Future   简单应用 在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写.或者干脆绕过这道坎,走别的路了.现在Java终于有可返回值的任务( ...

  9. 计算两端yuv视频流中每一帧的ssim值

    方法同上一篇,仅仅不多这里在计算的时候用了opencv1的接口,出现了一些问题.最后总算攻克了. 程序: #include <stdlib.h> #include <stdio.h& ...

  10. 代码生成器的关键代码(读取PDM文件)

    /// <summary> /// 处理PDM文件 /// </summary> public class DoPDMDal:IDoDataBaseDal { public L ...