博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ -- 3087 Shuffle'm Up
阅读量:7101 次
发布时间:2019-06-28

本文共 1126 字,大约阅读时间需要 3 分钟。

hot3.png

题目网址:

这道题目是个模拟题,题目比较长,特别是哪是牌底哪是牌顶,分割的时候谁做S1谁做S2要分清楚。

唯一用到的就是判重,我是用STL里面的set去判重,只用到insert()和count()两个成员函数就ok。

其实不太懂这道题目的数据规模,牌堆高度给的最高是100,相互洗牌产生的牌堆按说应该特别多种才对,因为我见题目上没有给牌的颜色加限制,如果每张牌颜色都不同,恐怕组合数会特别多。但是这道题目应该没有给那么变态的数据,直接模拟就给过了。

#include 
#include
#include
#include
#include
using namespace std;const int maxn = 110*2;int main(){ int N; cin >> N; int kase = 0; char buf[maxn]; while(N--) { cout << ++kase << " "; string S1, S2, R, A; int C, ans = 0; cin >> C >> S1 >> S2 >> R; set
Set; for(;;) { for(int i = 0; i < 2*C; i++) { if(i % 2) buf[i] = S1[i/2]; else buf[i] = S2[i/2]; } buf[2*C] = '\0'; A = (string)buf; ans++; if(A == R) { cout << ans << endl; break; } if(Set.count(A)) { cout << -1 << endl; break; } Set.insert(A); S1.clear(); for(int i = 0; i < C; i++) S1.push_back(A[i]); S2.clear(); for(int i = C; i < 2*C; i++) S2.push_back(A[i]); } } return 0;}

还有一个字符数组强转string类的用法,处理字符串的时候挺好用的。毕竟要用到set判重,构建set<string>是肯定的。

转载于:https://my.oschina.net/u/1780798/blog/636091

你可能感兴趣的文章
html图像入门
查看>>
C# Mongo Client 2.4.2创建索引
查看>>
我的第四个网页制作:列表标签
查看>>
【python进阶】详解元类及其应用2
查看>>
简单实用的菜单栏
查看>>
AMap行政区查询服务
查看>>
SpringBoot2.0源码分析(一):SpringBoot简单分析
查看>>
nginx一台服务器布置多个网站
查看>>
自定义String
查看>>
JAVA入门到精通-第25讲-泛型.异常
查看>>
15.回撤操作
查看>>
java 主流框架
查看>>
简单的增删改查
查看>>
iptables详解(8):iptables扩展模块之state扩展
查看>>
解决火狐访问(localhost)本地网站提示输入用户名密码
查看>>
ubuntu14.0.4.3 devstack 安装openstack
查看>>
String隐式共享
查看>>
[转载]Windows Phone
查看>>
pyspark 中启动 jupyter notebook
查看>>
vue2.0入门
查看>>