洗牌一副n张牌,每一张牌都用字母顺序标记。
题面
你的任务是洗牌一副n张牌,每一张牌都用字母顺序标记。
单个洗牌动作从牌组底部取出h张牌,并将其移动到牌组顶部。
卡片组由一个字符串表示,如下所示。
abcdeefab
第一个字符和最后一个字符分别对应于卡组底部的卡和卡组顶部的卡。
例如,将h=4的无序移动到上面的牌组,将前4个字符“abcd”移动到剩余字符“eefab”的末尾,并生成以下牌组:
eefabcd
您可以重复这种洗牌操作。
编写一个程序,读取数据组(字符串)和h序列,并打印最终状态(字符串)。
输入
输入包括多组数据。每组数据的格式如下:
表示一个牌组的字符串h
接下来,洗牌次数m洗牌
h1
h2
…
hm
输入以字符串的单个字符“-”结尾。
输出
对于每组数据,输出一个表示行中最终状态的字符串。
数据范围
字符串的长度≤200
洗牌次数,1≤M≤100
字符串的数据组数≤ 10
输入样例
aabc 3 1 2 1
vwxyz 2 3 4 -
输出样例
aabc
xyzvw
#include<stdio.h>
int main()
{char h[401] = { '\0' };int M = 0,i=0,j=0;while (scanf("%s", h) != EOF){if (h[0] == '-')break;int num = 0;int L = strlen(h);scanf("%d", &M);for (i = 0; i < M; i++){scanf("%d", &num);// char tmp;for (j = 0; j < num; j++){h[num+L-1-j] = h[num - 1-j];}for (j = 0; j < L; j++){h[j] = h[j + num];}h[L] = '\0';}printf("%s\n", h);}return 0;
}
洗牌一副n张牌,每一张牌都用字母顺序标记。相关推荐
- 【Java】 实现一副扑克牌,包含:洗牌+发牌(3个人,一人5张)+输出牌的信息 的逻辑
import java.util.ArrayList; import java.util.List; import java.util.Random;class Card{private int ra ...
- style=扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A、2各4张,小王1张,大王1张。 牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大
题目:扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A.2各4张,小王1张,大王1张.牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王):3 4 5 ...
- java判断五张牌中有一对,同花大顺-扑克牌问题一副扑克牌中任意取出五张牌,那五 – 手机爱问...
2007-03-07 概率问题52张扑克牌,任意取5张 1.52张牌,任意发5张,有C(52,5)种不同组合. 其中顺子有10种,分别是 A2345,23456,34567,-,9JQK,JQKA 每 ...
- [每日一题]14:用54张不同的扑克牌构成牌堆,发给3个玩家。
题目 声明一个扑克牌类,拥有方法:传入花色和点数生成扑克牌.打印扑克牌. 声明一个玩家类,每人拥有18张扑克牌.拥有方法:增加手牌(摸牌).展示手牌. 用54张不同的扑克牌构成牌堆,发给3个玩家.手牌 ...
- 乌镇论剑:张朝阳的四张牌=两横两纵
"马化腾讲连接,马云讲生态,李彦宏讲流量,刘强东讲物流,雷军讲梦想,张朝阳讲永生."(扫描文末二维码关注可及时获取热点酷评) 这是近来全行业关注的乌镇" ...
- 塔罗牌第五张是什么牌_【塔罗牌教学】第六张牌:恋人
原标题:[塔罗牌教学]第六张牌:恋人 ♥ 猴年迎接好运 台湾著名塔罗星座大师傅子绮老师带领大家一起探寻塔罗的神秘世界! 子綺老师会和大家一起分享各种塔罗排阵,以及十二星座运势, 并会为每一位来宾解读牌 ...
- 有52张牌,使它们全部正面朝上,第一轮是从第2张开始,凡是2的倍数位置上的牌翻成正面朝下;第二轮从第3张牌开始,凡是3的倍数位置上的牌,正面朝上的翻成正面朝下。。。
(12)有52张牌,使它们全部正面朝上,第一轮是从第2张开始,凡是2的倍数位置上的牌翻成正面朝下;第二轮从第3张牌开始,凡是3的倍数位置上的牌,正面朝上的翻成正面朝下,正面朝下的翻成正面朝上;第三轮从 ...
- 有13张扑克牌,怎样确定牌中有没有顺子(顺子:连续的5张牌)
有13张扑克牌,怎样确定牌中有没有顺子(顺子:连续的5张牌) 分析思路如下: 1.可能出现的牌为数字(2-10).(J-K,A,大小王),先将不能直接作为数字排列的牌替换成数字: 2.将整个数组转换为 ...
- c语言实例 魔术师的猜牌术(1),C语言实例:魔术师的猜牌术(1)
魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一起,牌面朝下.对观众说:我不看牌,只数数就可以猜到每张牌是什么,我大声数数,你们听,不信?你们就看.魔术师将最上面的那张牌数为1,把它翻过来正好是 ...
最新文章
- HGOI 20181103 题解
- listen()与accept()函数的区别
- 超强、超详细Redis入门教程【转】
- linux sybase系统,linux sybase 安装全过程(写给初学者)
- Oracle12如何重装,Oracle怎么重新安装?
- mysqldump使用详解
- 用MDT 2012为企业部署windows 7(三)--安装MDT 2012,ADK以及安装后情况
- 分享 上班族兼职项目——存着慢慢看很有用
- 股票开户天载钢铁等板块跌幅居前
- 项目中用setTimeout代替setInterval
- word文档如何去掉光标
- 如何在手机上查看SQLite文件
- 用JS制作表格的添加删除
- 2021EC-final博弈论E题Prof. Pang and Poker
- Vistor(访问者模式)行为型
- java算法int型整数反转的另类解法
- 阿里云年中618钜惠都有哪些活动-详细的为你列举
- ps一键去除gif背景的jsx脚本
- Delphi API
- METIS-一种图切分的软件包(简介)