POJ 3087 Shuffle'm Up 模拟,看着不像搜索啊
题意:给定s1,s1两副扑克,顺序从下到上。依次将s2,s1的扑克一张一张混合。例如s1,ABC; s2,DEF. 则第一次混合后为DAEBFC. 然后令前半段为s1, 后半段为s2. 如果可以变换成所给出的字符串,输出变换次数即可;否则,输出-1。
这题数据太水了,我是这样判断无法变换成题目所给出的字符串的:将每一次变换后的字符串存进数组,每次变换后由于之前变换后的字符串相比较,如果有相同的,就说明会无限循环下去。这样一来,循环次数会增加很多,然而0ms过了。。。
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; char ss[1000][200];
int main()
{
//freopen("in.txt","r",stdin);
int n;
scanf("%d",&n);
int t=1;
while(n--)
{
int m;
bool flag=false;
char s1[200],s2[200],s[400];
memset(s1,0,sizeof(s1));
memset(s2,0,sizeof(s2));
memset(s,0,sizeof(s));
memset(ss,0,sizeof(ss));
scanf("%d%s%s%s",&m,s1,s2,s);
for(int i=0;; i++)
{
for(int j=0; j<m; j++)
ss[i][2*j]=s2[j];
for(int j=0; j<m; j++)
ss[i][2*j+1]=s1[j];
if(strcmp(s,ss[i])==0)
{
printf("%d %d\n",t,i+1);
break;
}
else
{
for(int j=0; j<i; j++)
if(strcmp(ss[i],ss[j])==0)
{
printf("%d -1\n",t);
flag=true;
break;
}
if(flag)
break;
}
for(int j=0; j<m; j++)
{
s1[j]=ss[i][j];
s2[j]=ss[i][j+m];
}
}
t++;
}
return 0;
}
POJ 3087 Shuffle'm Up 模拟,看着不像搜索啊的更多相关文章
- POJ 3087 Shuffle'm Up (模拟+map)
题目链接:http://poj.org/problem?id=3087 题目大意:已知两堆牌s1和s2的初始状态, 其牌数均为c,按给定规则能将他们相互交叉组合成一堆牌s12,再将s12的最底下的c块 ...
- poj 3087 Shuffle'm Up (模拟过程)
Description A common pastime for poker players at a poker table is to shuffle stacks of chips. Shuff ...
- POJ.3087 Shuffle'm Up (模拟)
POJ.3087 Shuffle'm Up (模拟) 题意分析 给定两个长度为len的字符串s1和s2, 接着给出一个长度为len*2的字符串s12. 将字符串s1和s2通过一定的变换变成s12,找到 ...
- POJ 3087 Shuffle'm Up(洗牌)
POJ 3087 Shuffle'm Up(洗牌) Time Limit: 1000MS Memory Limit: 65536K Description - 题目描述 A common pas ...
- DFS POJ 3087 Shuffle'm Up
题目传送门 /* 题意:两块扑克牌按照顺序叠起来后,把下半部分给第一块,上半部给第二块,一直持续下去,直到叠成指定的样子 DFS:直接模拟搜索,用map记录该字符串是否被搜过.读懂题目是关键. */ ...
- POJ 3087 Shuffle'm Up
Shuffle'm Up Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ...
- poj 3087 Shuffle'm Up ( map 模拟 )
题目:http://poj.org/problem?id=3087 题意:已知两堆牌s1和s2的初始状态, 其牌数均为c,按给定规则能将他们相互交叉组合成一堆牌s12,再将s12的最底下的c块牌归为s ...
- POJ 3087 Shuffle'm Up(模拟)
Shuffle'm Up Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7404 Accepted: 3421 Desc ...
- POJ 3087 Shuffle'm Up【模拟/map/string】
Shuffle'm Up Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14471 Accepted: 6633 Descrip ...
随机推荐
- nginx的四层转发功能
架构图 配置过程 配置web服务器 # 1.配置web01,更改配置文件 [root@web01 /etc/nginx/conf.d]# vi test1.conf server { listen 8 ...
- Centos7.4永久修改系统时间
[root@V3B01-zsy yum.repos.d]# date -s "2019-09-24 17:02:30" 2019年 09月 24日 星期二 17:02:30 CST ...
- 【补档_STM32单片机】脉搏波采集显示硬件设计
一.脉搏波简介 脉搏一般情况下指的都是动脉脉搏.每分钟的脉搏次数称为脉率,正常情况下与心率是一致的.心脏的一次收缩和舒张成为一个心动周期.在每个心动周期内,心室的收缩和舒张会引起脉内压力的周期性波 ...
- 『言善信』Fiddler工具 — 3、Fiddler界面布局详解【菜单栏】
目录 (一)Fiddler界面布局介绍 (二)菜单栏 1.File文件菜单: 2.Edit编辑菜单: 3.Rules规则菜单: 4.Tools工具菜单: 5.View视图菜单: 6.Help帮助菜单: ...
- Go基础结构与类型04---基本数据类型
package main import "fmt" func main() { //整型 var a byte = 123 var b rune = 123 var c int = ...
- ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心
作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往 ...
- 视频教学动作修饰语:CVPR2020论文解析
视频教学动作修饰语:CVPR2020论文解析 Action Modifiers: Learning from Adverbs in Instructional Videos 论文链接:https://a ...
- IPv6 与 IPv4现状
IPv6 与 IPv4现状 一.概述 (1) IPv4可提供bai4,294,967,296个地址,IPv6将原来的32位地址空间增大du到128位,数目是zhi2的128次方.能够对地球上每平方米d ...
- H.264 Video Codec速度和质量
H.264 Video Codec速度和质量 从Kepler开始的所有 NVIDIA GPUs 都支持完全加速的硬件视频编码: GPUs 从费米开始支持完全加速的硬件视频解码.最近发布的图灵硬件提供了 ...
- GPU端到端目标检测YOLOV3全过程(上)
GPU端到端目标检测YOLOV3全过程(上) Basic Parameters: Video: mp4, webM, avi Picture: jpg, png, gif, bmp Text: doc ...