第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--K-密码
链接:https://www.nowcoder.com/acm/contest/90/K 
来源:牛客网 
 - 1.题目描述 
ZiZi登录各种账号的时候,总是会忘记密码,所以他把密码都记录在一个记事本上。其中第一个密码就是牛客网的密码。 
牛客网专注于程序员的学习、成长及职位发展,连接C端程序员及B端招聘方,通过IT笔试面试题库、在线社区、在线课程等提高候选人的求职效率,通过在线笔试、面试及其他工具提升企业的招聘效率。 
团队由来自Google、百度、阿里、网易等知名互联网巨头的热血技术青年组成,用户覆盖全国2000多所高校的100W求职程序员及全部一线互联网企业,并仍在高速增长中。 
谨慎的ZiZi当然不会直接把密码记录在上面,而是把上面的字符串经过转化后才是真正的密码。转化的规则是把字符串以n行锯齿形写出来,然后再按从左到右,从上到下读取, 
即为真正的密码。如ABABCADCE以3行写出:  
所以真正的密码是ACEBBACAD。但是每一次都要写出来就太麻烦了,您如果能帮他写出一个转换程序,他就送你一个气球。 
输入描述: 
第一行一个整数T,表示数据组数 
对于每组数据,首先一个正整数n(n<=100,000),然后下一行为一个字符串,字符串长度len<=100,000。 
输出描述: 
对于每组数据,输出一个字符串,代表真正的密码。 
示例1 
输入 
1 
3 
ABABCADCE 
输出 
ACEBBACAD 
 - 2.题目分析 
仔细推一下公式就会得到i=i+2∗(n−1);,i=i+(2∗(n−1)−(tt∗2)); i+=2∗tt;,剩下的就是输出了。 
 - 3.代码如下
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<string>
#include<vector>
#include<stack>
#include<bitset>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<set>
#include<list>
#include<deque>
#include<map>
#include<queue>
#include<algorithm>
using namespace std;
typedef long long ll;
const double PI = acos(-1.0);
const double eps = 1e-6;
const int INF = 1000000000;
const int maxn = 100;
char str1[2000],s2[2000];
int dp[100005];
int T,n,count;
int main() {
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n; char cc[1000005];
        scanf("%d",&n);
        scanf("%s",cc);
        int len =strlen(cc);
        int tt=0;
        int N=n;
        if(N!=1)
        {while(N--)
        {
            int COUNT=0;
            int i;
            for( i = tt;i<len;i+=0)
            {
                printf("%c",cc[i]);
                if(tt==0||tt==n-1)
                {
                    i+=2*(n-1);
                    }
               else if(COUNT%2==0)
                {
                    i=i+(2*(n-1)-(tt*2));
                    }
                else
                {
                    i+=2*tt;
                }
                COUNT++;
                }
        tt++;
            }
        }
        else
        for(int i = 0 ;i < len ;i++)
        printf("%c",cc[i]);
            printf("\n");
        }
     return 0;
}第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--K-密码的更多相关文章
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛
		拖了好久了 链接:https://www.nowcoder.com/acm/contest/90/A来源:牛客网 跳台阶 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K, ... 
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--L-用来作弊的药水
		链接:https://www.nowcoder.com/acm/contest/90/L 来源:牛客网 1.题目描述 -- 在一个风雨交加的夜晚,来自异世界的不愿透露姓名的TMK同学获得了两种超强药水 ... 
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--E-回旋星空
		链接:https://www.nowcoder.com/acm/contest/90/E 来源:牛客网 1.题目描述 曾经有两个来自吉尔尼斯的人(A和C)恋爱了,他们晚上经常在一起看头上的那片名为假的 ... 
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--D-psd面试
		链接:https://www.nowcoder.com/acm/contest/90/D 来源:牛客网 1.题目描述 掌握未来命运的女神 psd 师兄在拿了朝田诗乃的 buff 后决定去实习. 埃森哲 ... 
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--G-旋转矩阵
		链接:https://www.nowcoder.com/acm/contest/90/G 来源:牛客网 1.题目描述 景驰公司自成立伊始,公司便将“推动智能交通的发展,让人类的出行更安全,更高效,更经 ... 
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--A-跳台阶
		链接:https://www.nowcoder.com/acm/contest/90/A 来源:牛客网 1.题目描述 小明在坐景驰科技研发的无人车到达了目的地. 景驰科技(JingChi.ai)是一家 ... 
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛   G	 旋转矩阵 【模拟】
		链接:https://www.nowcoder.com/acm/contest/90/G 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ... 
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛.B.跳一跳,很简单的(Hash 倍增)
		题目链接 首先变换的周期是\(26\),而所有字符是同时变的,所以一共就只有\(26\)种树,我们对\(26\)棵树分别处理. 求某节点到根路径上的字符串,可以从根往下哈希,\(O(n)\)预处理出. ... 
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛----随手记录帖
		这是跟学长学姐组队来打的最爽的一次比赛了,也可能是互相组队最后一次比赛了,南哥和楼学姐,省赛之后就退役了,祝他们能考研和面试都有happy ending! 虽然最后没有把F题的n^2约数的数学题写完, ... 
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛-等式(求$N^2$的因子个数)
		一.题目链接 https://www.nowcoder.com/acm/contest/90/F 二.题面 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言655 ... 
随机推荐
- Trim a Binary Search Tree
			Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that a ... 
- JavaScript Callback 回调函数
			JavaScript callback回调函数 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货.在这 ... 
- ECMAscript 变量作用域
			使用var操作符声明的变量与未使用var操作符声明的变量区别 未使用var操作符声明 function test() { message='hi'; console.log(message); } c ... 
- 001Angular2环境准备
			01.安装Node.js 和 npm 安装完成后,在命令行依次使用node -v 和 npm -v可以看到版本号. 02.安装cnpm npm需要连接谷歌服务器,国内不能正常使用,需安装cnpm.命令 ... 
- Oracle数据库错误消息
			Oracle数据库错误消息 导出错误消息 l EXP-00000导出终止失败 原因:导出时产生Oracle错误. 操作:检查相应的Oracle错误消息. l EXP-00001数据域被截断 - 列长度 ... 
- wxpython 对话框
			. 消息对话框(wx.MessageDialog) 消息对话框 与用户通信最基本的机制是wx.MessageDialog,它是一个简单的提示框. wx.MessageDialog可用作一个简单的OK框 ... 
- 使用本地计划任务定时关闭azure虚拟机
			本文包含以下内容 前提条件 如何实现定时关闭虚拟机 前提条件 Controller 机器上必须安装 Azure PowerShell,并且要在 PowerShell 里登录一次 Azure, 请参见: ... 
- Appium的DesiredCapabilities参数设置
			Appium的DesiredCapabilities参数设置 DesiredCapabilities 负责启动服务端时的参数设置.实际使用时根据自己的需要,可自行修改一些参数. 比如,应用程序在查找某 ... 
- WP模拟器修改语言为中文方法
			对于WP7模拟器来说默认启动时显示的语言为英文,除了操作界面外,如果你的应用支持多国语言必须修改为中文才能显示正确的界面.下面Zune123将WP7 Emulator修改语言为中文的方法写个简单的教程 ... 
- OC block声明和使用
			#import "Button.h" typedef int (^MySum) (int, int); void test() { // 定义了一个block,这个block返回值 ... 
